Hi all, I am using SOAP sender Destination in a Inbound channel. When I use simple params in my webservice (Name, Age,...), the channel works well, but If I use a Value Object (Patient) with several fields (Name, Age,....) how webservice entry the channel doesn´t work. This is the error message that I got:
ERROR 2006-11-29 18:39:25,097 [04eb678e-f518-4b1a-868c-e0dd713ea507_destination_1_connector.dispatcher.2] org.mule.impl.DefaultComponentExceptionStrategy: Caught exception in Exception Strategy for: 04eb678e-f518-4b1a-868c-e0dd713ea507: org.xml.sax.SAXException: Invalid element in com.hl7.PacienteVO - Nombre
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Invalid element in com.hl7.PacienteVO - Nombre
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:
org.xml.sax.SAXException: Invalid element in com.hl7.PacienteVO - Nombre
at org.apache.axis.message.SOAPFaultBuilder.createFau lt(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElemen t(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.en dElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endEle ment(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.sc anEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse( Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser .parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.pa rse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPar t.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.ja va:435)
at org.apache.axis.client.Call.invokeEngine(Call.java :2804)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:1870)
at org.mule.providers.soap.axis.AxisMessageDispatcher .invokeWebService(AxisMessageDispatcher.java:230)
at org.mule.providers.soap.axis.AxisMessageDispatcher .doDispatch(AxisMessageDispatcher.java:198)
at org.mule.providers.AbstractMessageDispatcher$Worke r.run(AbstractMessageDispatcher.java:257)
at org.mule.impl.work.WorkerContext.run(WorkerContext .java:290)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java :675)
at java.lang.Thread.run(Unknown Source)
I thought that the error could be produced by a bad mapping of complex type com.hl7.PacienteVO, but I have revised the wsdd file, and I think that the complex type is well mapped
<?xml version="1.0" encoding="UTF-8"?>
<!-- Axis Web Service Deployment Descriptor (WSDD),
generated by
(server-config.wsdd.vsl) do not edit! -->
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="adminPassword" value="admin"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl "/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="axis.sendMinimizedElements" value="true"/>
<parameter name="axis.servicesPath" value="/services/"/>
</globalConfiguration>
<handler name="LocalResponder" type="java
rg.apache.axis.transport.local.LocalResponder"/>
<handler name="URLMapper" type="java
rg.apache.axis.handlers.http.URLMapper"/>
<handler name="Authenticate" type="java
rg.apache.axis.handlers.SimpleAuthenticationHandle r"/>
<service name="PacienteService" provider="java:RPC" style="wrapped" use="literal">
<wsdlFile>/com/hl7/PacienteService.wsdl</wsdlFile>
<documentation>
</documentation>
<namespace>http://com.hl7</namespace>
<parameter name="allowedMethods" value="insertar insertarVO"/>
<parameter name="className" value="com.hl7.PacienteServiceWSDelegator" />
<operation name="insertar">
<parameter name="nombre"/>
<parameter name="FechaNacimiento"/>
<parameter name="SexoPaciente"/>
<parameter name="DireccionPaciente"/>
</operation>
<operation name="insertarVO">
<parameter name="Paciente"/>
</operation>
<typeMapping
type="java:com.hl7.PacienteVO"
xmlns:ns1="http://com.hl7"
qname="ns1:PacienteVO"
serializer="org.apache.axis.encoding.ser.BeanSeria lizerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDes erializerFactory"
encodingStyle="">
<documentation>
</documentation>
</typeMapping>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java
rg.apache.axis.handlers.http.HTTPAuthHandler"/>
</requestFlow>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>
When I put "wsdl url", Mirth gets wsdl file, methods and I can to relate message variables with wsdl fields but when I start the channel, this doesn´t work.
Can someone help me?
thanks in advange.
ERROR 2006-11-29 18:39:25,097 [04eb678e-f518-4b1a-868c-e0dd713ea507_destination_1_connector.dispatcher.2] org.mule.impl.DefaultComponentExceptionStrategy: Caught exception in Exception Strategy for: 04eb678e-f518-4b1a-868c-e0dd713ea507: org.xml.sax.SAXException: Invalid element in com.hl7.PacienteVO - Nombre
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Invalid element in com.hl7.PacienteVO - Nombre
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:
org.xml.sax.SAXException: Invalid element in com.hl7.PacienteVO - Nombre
at org.apache.axis.message.SOAPFaultBuilder.createFau lt(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElemen t(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.en dElement(DeserializationContext.java:1087)
at org.apache.xerces.parsers.AbstractSAXParser.endEle ment(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.sc anEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerI mpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse( Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser .parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.pa rse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPar t.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.ja va:435)
at org.apache.axis.client.Call.invokeEngine(Call.java :2804)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:1870)
at org.mule.providers.soap.axis.AxisMessageDispatcher .invokeWebService(AxisMessageDispatcher.java:230)
at org.mule.providers.soap.axis.AxisMessageDispatcher .doDispatch(AxisMessageDispatcher.java:198)
at org.mule.providers.AbstractMessageDispatcher$Worke r.run(AbstractMessageDispatcher.java:257)
at org.mule.impl.work.WorkerContext.run(WorkerContext .java:290)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java :675)
at java.lang.Thread.run(Unknown Source)
I thought that the error could be produced by a bad mapping of complex type com.hl7.PacienteVO, but I have revised the wsdd file, and I think that the complex type is well mapped
<?xml version="1.0" encoding="UTF-8"?>
<!-- Axis Web Service Deployment Descriptor (WSDD),
generated by
(server-config.wsdd.vsl) do not edit! -->
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<globalConfiguration>
<parameter name="adminPassword" value="admin"/>
<parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl "/>
<parameter name="sendXsiTypes" value="true"/>
<parameter name="sendMultiRefs" value="true"/>
<parameter name="sendXMLDeclaration" value="true"/>
<parameter name="axis.sendMinimizedElements" value="true"/>
<parameter name="axis.servicesPath" value="/services/"/>
</globalConfiguration>
<handler name="LocalResponder" type="java

<handler name="URLMapper" type="java

<handler name="Authenticate" type="java

<service name="PacienteService" provider="java:RPC" style="wrapped" use="literal">
<wsdlFile>/com/hl7/PacienteService.wsdl</wsdlFile>
<documentation>
</documentation>
<namespace>http://com.hl7</namespace>
<parameter name="allowedMethods" value="insertar insertarVO"/>
<parameter name="className" value="com.hl7.PacienteServiceWSDelegator" />
<operation name="insertar">
<parameter name="nombre"/>
<parameter name="FechaNacimiento"/>
<parameter name="SexoPaciente"/>
<parameter name="DireccionPaciente"/>
</operation>
<operation name="insertarVO">
<parameter name="Paciente"/>
</operation>
<typeMapping
type="java:com.hl7.PacienteVO"
xmlns:ns1="http://com.hl7"
qname="ns1:PacienteVO"
serializer="org.apache.axis.encoding.ser.BeanSeria lizerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDes erializerFactory"
encodingStyle="">
<documentation>
</documentation>
</typeMapping>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
<handler type="java

</requestFlow>
</transport>
<transport name="local">
<responseFlow>
<handler type="LocalResponder"/>
</responseFlow>
</transport>
</deployment>
When I put "wsdl url", Mirth gets wsdl file, methods and I can to relate message variables with wsdl fields but when I start the channel, this doesn´t work.
Can someone help me?
thanks in advange.
Comment