Hi Guys!
I've faced with problem when disabled WS-Addressing using <http:policies/>
tag inside of <http:endpoint>. WS-Addressing is ignored as expected, but
provider HTTP endpoint cannot parse incoming SOAP request. By some reason it
looks like following:
ERROR - HttpComponent - Error processing exchange InOut[
id: ID:mtebenev-2820-1174402786825-5:4
status: Active
role: provider
service: {http://intraoss.services.com/DataService}DataService
endpoint: DataServiceHttpPort
operation: {http://intraoss.services.com/DataService}execute
in: <?xml version="1.0" encoding="UTF-8"?><axis2ns186:execute
xmlns:axis2ns186="http://intraoss.services.com/DataService"
xmlns="http://intraoss.services.com/DataService"
xmlns:ds="http://intraoss.services.com/DataService"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<ds:commandName>Account.findBlockingOrders</ds:commandName>
<ds:parameters>
<das:params
xmlns:das="http://das.intraoss.com">
<das:commandParam das:name="accountId">
<das:value
xmlns="http://das.intraoss.com"
xmlns:dom="http://domain.intraoss.com">3000002</das:value>
</das:commandParam>
<das:commandParam
das:name="orderTypeName">
<das:value>VoIPWithLNP</das:value>
</das:commandParam>
</das:params>
</ds:parameters>
</axis2ns186:execute>
]
org.apache.servicemix.soap.SoapFault: Unrecognized element: html at [1,1].
Expecting 'Envelope'.
at
org.apache.servicemix.soap.marshalers.SoapReader.readSoapUsingStax(SoapReader.java:157)
at
org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:82)
at
org.apache.servicemix.soap.marshalers.SoapReader.read(SoapReader.java:73)
at
org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:173)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Unknown Source)
I've checked twice that SOAP message incoming to HTTP consumer has SOAP
envelope. Here it is:
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<addr:To
xmlns:addr="http://www.w3.org/2005/08/addressing">http://mtebenev.home.softech.ru:8192/DataService/</addr:To>
<addr:Action
xmlns:addr="http://www.w3.org/2005/08/addressing"></addr:Action>
</soapenv:Header><soapenv:Body><axis2ns132:execute
xmlns:ds="http://intraoss.services.com/DataService"
xmlns:axis2ns132="http://intraoss.services.com/DataService"
xmlns="http://intraoss.services.com/DataService">
<ds:commandName>Account.findBlockingOrders</ds:commandName>
<ds:parameters>
<das:params
xmlns:das="http://das.intraoss.com">
<das:commandParam das:name="accountId">
<das:value
xmlns:dom="http://domain.intraoss.com"
xmlns="http://das.intraoss.com">3000002</das:value>
</das:commandParam>
<das:commandParam
das:name="orderTypeName">
<das:value>VoIPWithLNP</das:value>
</das:commandParam>
</das:params>
</ds:parameters>
</axis2ns132:execute></soapenv:Body></soapenv:Envelope>
Perhaps it could be caused by changed configuration of HTTP endpoints. Now
their configuration is following:
<http:endpoint xmlns:svcds="http://intraoss.services.com/DataService"
service="svcds:DataService"
endpoint="DataServiceHttpPort"
role="provider"
soap="true"
soapVersion="1.1"
locationURI="${intraoss-server-url}/DataService"
wsdlResource="${intraoss-server-url}/DataService?wsdl">
<http:policies/>
</http:endpoint>
<http:endpoint xmlns:svcds="http://intraoss.services.com/DataService"
service="svcds:DataService"
endpoint="DataServiceHttpPortProxy"
role="consumer"
soap="true"
soapVersion="1.1"
targetService="svcds:DataService"
locationURI="${local-server-url}/DataService/"
defaultMep="http://www.w3.org/2004/08/wsdl/in-out">
<http:policies/>
</http:endpoint>
What's wrong with my configuration this time?
Thank you for your help!
Best regards, Maxim Tebenev.
--
View this message in context:
http://www.nabble.com/Problems-with-disabling-WS-Addressing-tf3434483s12049.html#a9575091
Sent from the ServiceMix - User mailing list archive at Nabble.com.