WebSphere 7.0にデプロイされたクラスから WebService (役立つ場合は HP-Service Manager) を呼び出そうとすると、エラーが発生します。JUnitコードから呼び出すと、同じコードが機能します...
WSDL のフラグメントは次のとおりです。
<definitions targetNamespace="http://schemas.hp.com/SM/7"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">
は常に XML パーサーに認識されていると思っていたxmlns:xsi
ので、そのエラーがわかりません。を使用して JUnit でコードを起動すると発生しないのに、WebSphere でこのようなエラーが発生するのはなぜcom.ibm.ws.webservices.thinclient
ですか?
適切な StackTrace フラグメントは次のとおりです。
原因: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'wsjar:file:/path/to/ear.ear/war.war/WEB-INF/lib/my_jar-0.0.1-SNAPSHOT.jar !/wsdl/myWsdl.wsdl'.: org.xml.sax.SAXParseException: Das Präfix "xsi" für Attribut "xsi:schemaLocation", das einem Elementtyp "definitions" zugeordnet ist, ist nicht gebunden. com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2255) com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2330) com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL (WSDLReaderImpl.java:2296) org.apache.axis2.jaxws.util.WSDL4JWrapper$13.run(WSDL4JWrapper.java:745) で org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:132) org.apache.axis2.jaxws.util.WSDL4JWrapper にあります。loadDefinition(WSDL4JWrapper.java:742) ... 51 以上 原因: org.xml.sax.SAXParseException: Das Präfix "xsi" für Attribut "xsi:schemaLocation", das einem Elementtyp "definitions" zugeordnet ist, ist nicht gebunden. org.apache.xerces.parsers.DOMParser.parse(不明なソース) org.apache.xerces.jaxp.DocumentBuilderImpl.parse(不明なソース) com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2245) ) ... 56 以上