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