JAX-WSWebサービスクライアントを生成するために使用したWSDLといくつかのスキーマファイルがあります。クライアントのインスタンスを取得しようとすると、次のスタックトレースが取得されます。
原因:java.lang.IllegalArgumentException:指定されたプレフィックスがnullでした。 com.ibm.xml.xlxp.api.stax.msg.StAXMessageProvider.throwIllegalArgumentException(StAXMessageProvider.java:42)で com.ibm.xml.xlxp.api.stax.XMLStreamReaderImpl.getNamespaceURI(XMLStreamReaderImpl.java:721)で com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl $ XMLStreamReaderProxy.getNamespaceURI(XMLInputFactoryImpl.java:212)で com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.getNamespaceURI(XMLStreamReaderFilter.java:242)で com.sun.xml.internal.ws.wsdl.parser.ParserUtil.getQName(ParserUtil.java:78)で com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parsePortTypeOperationInput(RuntimeWSDLParser.java:721)で com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parsePortTypeOperation(RuntimeWSDLParser.java:694)で com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parsePortType(RuntimeWSDLParser.java:668)で com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parseWSDL(RuntimeWSDLParser.java:305)で com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:136)で com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:227)で com.sun.xml.internal.ws.client.WSServiceDelegate。(WSServiceDelegate.java:190)で com.sun.xml.internal.ws.client.WSServiceDelegate。(WSServiceDelegate.java:160)で com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:92)で javax.xml.ws.Service。(Service.java:67)で ..。
Serviceクラスが初期化の一部としてWSDLを解析しようとしているように見えますが、一部のプレフィックスがnullであるために失敗します。この行at com.sun.xml.internal.ws.wsdl.parser.ParserUtil.getQName(ParserUtil.java:78)
は、QNameの解析に問題があることを示しています。サービスが作成されると、QNameは次のように設定されます。
new QName("http://www.mycompany.ca/some/schema/MyService", "MyService")
ただし、エラーメッセージはあまり明確ではありません。前にプレフィックスが必要です"MyService"
か、またはWSDLへの変更が必要ですか(私はWSDLの所有者ではないため、変更を他のチームにプッシュするのは困難です)。
(環境はWAS7.0のRAD7.5です)