2

wso2esb-4.0.3

他のサンプルを実行できます。ESB と StockService を実行しています。JSON 変換が行われているように見えますが、jsonclient は JSON 応答を処理できません。

ant jsonclient -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/services/JSONProxy

収量

[java] org.apache.axis2.AxisFault: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<'
 [java]  at [row,col {unknown-source}]: [1,1]
 [java]     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
 [java]     at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
 [java]     at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
 [java]     at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
 [java]     at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
 [java]     at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
 [java]     at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
 [java]     at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555)
 [java]     at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531)
 [java]     at samples.userguide.JSONClient.executeClient(Unknown Source)
 [java]     at samples.userguide.JSONClient.main(Unknown Source)

私は Axis2 クライアントの専門家ではありません。この例を機能させるための回避策はありますか?

この例の JSON ペイロードを使用して curl を送信すると、エラーが発生します。

curl -X POST -H 'Content-type: application/json' -d '{"getQuote":{"request":{"symbol":"IBM"}}}' http://localhost:8280/services/JSONProxy

ESB コンソール:

[2012-05-23 16:28:24,079]  INFO - LogMediator To: /services/JSONProxy, MessageID: urn:uuid:fa1489c7-e12e-4a59-8abb-663a35115cce, Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><getQuote><request><symbol>IBM</symbol></request></getQuote></soapenv:Body></soapenv:Envelope>
[2012-05-23 16:28:24,087]  WARN - ClientHandler Received an internal server error : Internal Server Error For : 127.0.0.1:9000 For Request : Axis2Request [Message ID : urn:uuid:ce8b27f3-5aea-461c-a1f5-e7d0c6bbac4d] [Status Completed : true] [Status SendingCompleted : true]
[2012-05-23 16:28:24,089]  INFO - LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:ce8b27f3-5aea-461c-a1f5-e7d0c6bbac4d, Direction: response, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><faultstring>com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]</faultstring></soapenv:Body></soapenv:Envelope>
4

1 に答える 1

3

メッセージを json から soap11 に変換する場合は、エンドポイントの形式を必ず soap11 に設定してください。これを行うには、次のようにエンドポイント アドレスを設定し<address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/>ます。シナプス構成で。

于 2012-05-25T19:07:42.713 に答える