2010-12-02 3 views
4

일부 웹 서비스 클라이언트를 몇 가지 오래된 Java 응용 프로그램으로 업데이트하여 제 2의 웹 서비스 인 axis2를 호출합니다. wsdl 파일이 제공되었으므로 다음 (광산) 게시물 (JAX-WS client : what's the correct path to access the local WSDL?)에 설명 된대로이 서비스에 클라이언트가 포함 된 jar 파일을 개발했습니다.액세스 할 수없는 예외를 일으키는 원인은 무엇입니까?

일부 응용 프로그램에서는 작동하지만 프록시 클래스를 인스턴스화 할 때 inaccessibleWSDLException을 던지는 응용 프로그램에서는 작동하지 않습니다.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system"> 
    <system systemId="http://localhost/wsdl/SOAService.wsdl" uri="wsdl/SOAService.wsdl"/> 
    <system systemId="http://schemas.xmlsoap.org/soap/encoding/" uri="wsdl/schemas.xmlsoap.org/soap/encoding.xsd"/> 
    <system systemId="http://www.w3.org/2005/05/xmlmime" uri="wsdl/www.w3.org/2005/05/xmlmime.xsd"/> 
</catalog> 

그것은 항상 제이 보스 4 \ 항아리 \ 내 개발 환경 (넷빈즈는 \ ecplise 내가 통해 업데이트 프로젝트에 따라 다름)와 서버 (톰캣 내부에서 작업 : 나는 아래 내 JAX-WS-카탈로그 파일을 게시 한 테스트 클래스 사용). 나는이 라이브 사이클 8.0 프로세스에 항아리를로드 명령 줄에서 항아리 또는

  • (제이 보스 4.0에서 실행)
  • 에서를 시작

    • : 때

      이 작동하지 않습니다 두 경우 모두 "InaccessibleWSDLException"오류가 발생합니다. 특히 라이브 사이클에서 다음 오류가 발생합니다.

      2010-12-01 12:20:47,420 ERROR [com.adobe.workflow.AWS] stalling action-instance: 9989 with message: com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException. 
      
      java.net.ConnectException: Connection refused 
      java.net.ConnectException: Connection refused 
      
           at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:172) 
           at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:144) 
           at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254) 
           at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217) 
           at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:174) 
           at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104) 
           at javax.xml.ws.Service.<init>(Service.java:56) 
           at com.ibm.eci.soaservice.SOAService.<init>(SOAService.java:50) 
      

      이 예외는 무엇을 의미합니까? wsdl 또는 그 일부를 찾을 수 없습니까? 라이브러리를 찾을 수 없습니까? 웹에 액세스 할 수 없습니다 (wsdl에 외부 xsd 가져 오기가 포함되어 있습니까)? 라이브 사이클 8.0 사용하지 않거나 잭스 - WS-catalog.xml을 찾지 못하는, 그래서 잭스 - WS는 런타임이되는 클라이언트 스텁에 언급 된 문자 위치에서 WSDL을로드하려고, 즉 대신 http://localhost/wsdl/SOAService.wsdl에서 의미

    답변

    4

    jax-ws-catalog.xml에 제공된 매핑을보고 응용 프로그램 jar의 WSDL을 사용합니다.

    단서는

    java.net.ConnectException은 다음과 같습니다 연결이

    잭스 - WS 런타임이 HTTP를 통해 WSDL에 액세스하려고 하더군요

    를 거부 : 연결이 java.net.ConnectException은 거부했다.

    jax-ws-catalog.xml은 어디에 두시겠습니까? JAR의 META-INF 디렉토리 외에도 다른 곳에 넣을 필요가있는 라이브 사이클 일 수 있습니다.

    나는이 질문을 livecycle forums에 게시해야한다고 생각합니다.

    명령 줄에서 작업하지 않으려면 약간 이상합니다. 명령 줄에서 정확히 어떻게 실행합니까?

    +0

    는 힌트 주셔서 감사합니다 내가 그것을 WSDL의 수입 XSD를 할 예정이었습니다 생각했다. (평소와 같이) 조사 할 시간이 충분하지 않아서, "프록시가 인스턴스화 될 때마다 wsdl을 폴링하지 않는 axis2로 클라이언트를 만드는"작업을했습니다. 한 가지 더 힌트가 있습니다. LiveCycle은 jboss에서 실행되는 entrprise 응용 프로그램이지만 Tomcat에서 실행되는 일반 웹 응용 프로그램에서는 제 jar가 정상적으로 작동했습니다.내 호기심에 대한 어도비의 포럼에 질문을 게시 할 것입니다. –

    0

    인증서 파일을 찾고있는 것 같습니다. 어떤 인증서인지 확인하십시오. 해당 인증서를 다운로드하고 서버를 다시 시작한 다음 시도하십시오.

    감사합니다, 스리 Goranti

    관련 문제