0
我是WSO2 ESB的新手,并且遇到一个问题传输级别信息与SOAP消息名称空间URI不匹配。通过WSO2 ESB中的Axis2 webservice传输HTTP到UDP协议的数据/响应时发生错误
其实我想通过UDP传输传输请求/消息,因为我创建了一个代理服务,通过UDP传输将请求传输到实际的Web服务。
好像:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="example1"
transports="https http udp"
startOnLoad="true"
trace="disable">
<target>
<inSequence>
<log level="full"/>
<send>
<endpoint>
<address uri="udp://192.168.6.200:3333/services/xyzService?contentType=application/soap+xml">
<enableAddressing separateListener="true"/>
</address>
</endpoint>
</send>
</inSequence>
<outSequence>
<log level="full" />
<send/>
</outSequence>
</target>
<publishWSDL uri="file:repository/WSO2-ws/ABC.wsdl"/>
</proxy>
其他服务获得通过UDP和转移到实际的WebService消息/请求。 好像:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="example2" transports="udp"
startOnLoad="true"
trace="disable">
<target>
<endpoint>
<address uri="http://192.168.6.200:8280/services/abc-demo"/>
</endpoint>
<outSequence>
<log level="full"/>
<send />
</outSequence>
</target>
</proxy>
而从实际的WebService其抛出的错误传输响应返回给UDP,如:
[2013-11-26 15:06:47,375] ERROR - ProcessPacketTask Error during processing of datagram:
org.apache.axiom.soap.SOAPProcessingException: Transport level information does not match with SOAP Message namespace URI
at org.apache.axis2.builder.BuilderUtil.validateSOAPVersion(BuilderUtil.java:745)
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:58)
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:180)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:146)
at org.apache.axis2.transport.base.datagram.ProcessPacketTask.run(ProcessPacketTask.java:63)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
我没有任何想法,为什么它的发生? 如果我以错误的方式进行或者某些配置没有正确完成,请给我建议。 任何帮助,不胜感激。
我期待尽快收到你的来信。
我已经配置在 '../如下axis2.xml'文件UDP侦听和发送者: ' \t \t <参数名称= “transport.udp.port”> 3333 \t \t <参数名称= “transport.udp.contentType”>应用/肥皂+ xml的 \t \t <参数名称=“transport.udp.maxPacketSize”> 4096 \t transportReceiver> ' 我米面对错误而获得回响应从web服务到UDP。 请提供一些示例代码或指导。 –