Hello all,
I have a JSR181 component with an http component referencing it.
I am trying to call an operation that can have null values.
The client is a dotnet application and I am using their web references
capabilities to wrapper the wsdl contract
The soap message coming in is:
===========================================
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<operation xmlns="urn:ic:km">
<scanAll>false</scanAll>
<Groups>
<GroupInformation xmlns="http://transfer.sm.km.ic.s.com">
<Id>1</Id>
<code>2</code>
<Assignments><Assignment xsi:nil="true" /></Assignments>
</GroupInformation>
</Groups>
</operation>
</soap:Body>
</soap:Envelope>
===========================================
and I am getting the following fault/exception:
===========================================
<?xml version='1.0' encoding='UTF-8'?><soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Error
parsing document.. Nested exception is
com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix "xsi"
(for attribute "nil")
at [row,col {unknown-source}]:
[1,385]</faultstring><detail><stack>org.codehaus.xfire.fault.XFireFault:
Error parsing document.. Nested exception is
com.ctc.wstx.exc.WstxParsingException: Undeclared namespace prefix "xsi"
(for attribute "nil")
at [row,col {unknown-source}]: [1,385]
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:70)
at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at
org.apache.servicemix.jsr181.Jsr181ExchangeProcessor.process(Jsr181ExchangeProcessor.java:110)
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)
Caused by: org.codehaus.xfire.XFireRuntimeException: Error parsing
document.. Nested exception is com.ctc.wstx.exc.WstxParsingException:
Undeclared namespace prefix "xsi" (for attribute "nil")
at [row,col {unknown-source}]: [1,385]
at
org.codehaus.xfire.aegis.stax.ElementReader.checkHasMoreChildReaders(ElementReader.java:216)
at
org.codehaus.xfire.aegis.stax.ElementReader.hasMoreElementReaders(ElementReader.java:156)
at
org.codehaus.xfire.aegis.type.basic.ArrayType.readCollection(ArrayType.java:68)
at
org.codehaus.xfire.aegis.type.collection.CollectionType.readObject(CollectionType.java:36)
at
org.codehaus.xfire.aegis.type.basic.BeanType.readObject(BeanType.java:184)
at
org.codehaus.xfire.aegis.type.basic.ArrayType.readCollection(ArrayType.java:80)
at
org.codehaus.xfire.aegis.type.collection.CollectionType.readObject(CollectionType.java:36)
at
org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:154)
at
org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
at
org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:50)
at
org.apache.servicemix.jsr181.xfire.ServiceFactoryHelper$FixedJAXWSOperationBinding.readMessage(ServiceFactoryHelper.java:416)
at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
... 12 more
Caused by: com.ctc.wstx.exc.WstxParsingException: Undeclared namespace
prefix "xsi" (for attribute "nil")
at [row,col {unknown-source}]: [1,385]
at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:465)
at
com.ctc.wstx.sr.NsAttributeCollector.resolveNamespaces(NsAttributeCollector.java:179)
at
com.ctc.wstx.sr.NsInputElementStack.resolveAndValidateElement(NsInputElementStack.java:389)
at
com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2826)
at
com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2737)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1004)
at
org.codehaus.xfire.util.stax.DepthXMLStreamReader.next(DepthXMLStreamReader.java:251)
at
org.codehaus.xfire.util.stax.DepthXMLStreamReader.next(DepthXMLStreamReader.java:251)
at
org.codehaus.xfire.aegis.stax.ElementReader.checkHasMoreChildReaders(ElementReader.java:207)
... 25 more
</stack></detail></soap:Fault></soap:Body></soap:Envelope>
===========================================
I'm not sure why this would be a problem, as the xsi namespace is defined.
Any suggestions?
Thanks,
James
--
View this message in context:
http://www.nabble.com/xFireFault%3A-issue-with-handling-of-null-values-in-http-jsr181-tf3658646s12049.html#a10222429
Sent from the ServiceMix - User mailing list archive at Nabble.com.