2016-03-25 5 views
1

IISにAXIS2 Webサービスがデプロイされています。 wsdlを使用してJAX-WSクライアントを生成しました。スタンドアロン、つまりOracle JDKで使用するとうまく動作します。Websphere 7のJAX-WSクライアントがjava.io.UnsupportedEncodingExceptionで失敗する:text/xml

websphere 7にデプロイされているアプリケーションからwebserviceを呼び出す必要があります。そのため、jax-ws生成されたクライアント(jarとして)をアプリケーションに含めました。アプリケーションがWebサービスへの呼び出しを行うと、java.io.UnsupportedEncodingException:text/xml例外が発生して失敗します。 Websphere 7は、jax-wsにaxis2関連のjarファイルを使用します。

例外の詳細:javax.xml.stream.XMLStreamException:によって引き起こさ

java.io.UnsupportedEncodingException:text/xmlで

によって引き起こさ
at com.ibm.xml.xlxp2.api.stax.msg.StAXMessageProvider.throwXMLStreamException(StAXMessageProvider.java:67) 
at com.ibm.xml.xlxp2.api.stax.XMLStreamReaderImpl.setDocumentEntity(XMLStreamReaderImpl.java:401) 
at com.ibm.xml.xlxp2.api.stax.XMLInputFactoryImpl.setDocumentEntity(XMLInputFactoryImpl.java:1440) 
at com.ibm.xml.xlxp2.api.stax.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:1455) 
at com.ibm.xml.xlxp2.api.stax.XMLInputFactoryImpl.createXMLStreamReaderInternal(XMLInputFactoryImpl.java:1555) 
at com.ibm.xml.xlxp2.api.stax.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:1626) 
at org.apache.axiom.om.util.StAXUtils$14.run(StAXUtils.java:618) 
at java.security.AccessController.doPrivileged(AccessController.java:251) 
at org.apache.axiom.om.util.StAXUtils.createSecureXMLStreamReader(StAXUtils.java:614) 
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:58) 
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:191) 
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:139) 
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:102) 
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:66) 
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353) 
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416) 
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) 
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) 
at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.execute(AxisInvocationController.java:581) 
... 41 more 

:java.io.UnsupportedEncodingException:text/xmlで

at sun.nio.cs.StreamDecoder.forInputStreamReader(StreamDecoder.java:115) 
at java.io.InputStreamReader.<init>(InputStreamReader.java:93) 
at com.ibm.xml.xlxp2.api.util.encoding.ByteStreamDataSource.convertToCharacterStream(ByteStreamDataSource.java:278) 
at com.ibm.xml.xlxp2.api.util.encoding.PlatformEncodingSupport.loadFromByteStream(PlatformEncodingSupport.java:48) 
at com.ibm.xml.xlxp2.api.util.SimpleParsedEntityFactory.detectEncodingSetSource(SimpleParsedEntityFactory.java:503) 
at com.ibm.xml.xlxp2.api.util.SimpleParsedEntityFactory.setByteStreamSource(SimpleParsedEntityFactory.java:281) 
at com.ibm.xml.xlxp2.api.sax.impl.SAX2ParsedEntityFactory.readFromInputSource(SAX2ParsedEntityFactory.java:122) 
at com.ibm.xml.xlxp2.api.sax.impl.SAX2ParsedEntityFactory.createParsedEntity(SAX2ParsedEntityFactory.java:76) 
at com.ibm.xml.xlxp2.api.stax.XMLStreamReaderImpl.setDocumentEntity(XMLStreamReaderImpl.java:394) 
... 58 more 

EDIT:詳細情報..ウェブサービスが応答を返しています。 websphereがレスポンスを処理できない、つまり質問に指定された例外が発生して失敗するようです。

助けてください。

+0

軸war/jarの一部として軸アーカイブファイルがデプロイされていますか? – Sampada

+0

@Sampada - いいえ、websphereにデプロイされたアプリケーションはjax-wsのクライアントクラスファイル(生成されたもの)とクラスを持ち、webserviceを呼び出すだけです。 – Karthick

+0

私はJbossで同じアプリケーションをデプロイするとうまくいきます。したがって、問題はWebsphereにデプロイされている場合のみです。 – Karthick

答えて

0

例外は、無効な応答ヘッダー*text/xml;charset:UTF-8*. It supposed to be *text/xml;charset=UTF-8*が原因です。 IBM JDKは構文解析の方が厳密ですが、Oracle JDKは解析しません。これは、外部Webサービスを呼び出すときにWebsphereアプリケーションサーバーの "java.io.UnsupportedEncodingException:text/xml"と同様の例外が発生した場合に役立ちます。

関連する問題