You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Senthil Shamugam <ss...@bluecanopy.com> on 2006/03/30 16:43:18 UTC

BeanDeserializer Error

I deployed the document/literal webserivce in JBOSS 
4.0.4RC1 using Axis 1.3. I generated the server/client 
from the hand written WSDL. When I'm trying to access from 
the client I'm getting the following error. It seems a 
common problem when using document/literal. Could any of 
you guide me to solve this error.

09:24:31,531 ERROR [ServerEngine] Server error: AxisFault
  faultCode: 
{http://schemas.xmlsoap.org/soap/envelope/}Client
  faultSubcode:
  faultString: Invalid element in 
com.bluecanopy.concierge.webservices.TravelItineraryRQ - 
Location
  faultActor:
  faultNode:
  faultDetail:
	{http://xml.apache.org/axis/}stackTrace: 
org.xml.sax.SAXException: Invalid element in 
com.bluecanopy.concierge.webservices.TravelItineraryRQ - 
Location
	at 
org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:455)
	at 
org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1168)
	at 
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
	at 
org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1394)
	at 
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:266)
	at 
org.apache.axis.message.RPCElement.getParams(RPCElement.java:402)
	at 
org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:235)
	at 
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:103)
	at 
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:358)
	at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
	at 
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:160)
	at 
org.apache.axis.SimpleChain.invoke(SimpleChain.java:123)
	at 
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:560)
	at 
org.apache.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:215)
	at 
org.apache.webservice.server.ServerEngine.invoke(ServerEngine.java:104)
	at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:911)
	at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
	at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at 
com.bluecanopy.commons.web.TransactionFilter.doHttpFilter(TransactionFilter.java:105)
	at 
com.bluecanopy.commons.web.BaseHttpServletFilter.doFilter(BaseHttpServletFilter.java:62)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at 
org.apache.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at 
org.apache.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
	at 
org.apache.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
	at 
org.apache.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
	at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
	at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
	at java.lang.Thread.run(Thread.java:595)

The WSDL looks like the following

<?xml version="1.0"?>
<definitions name="Concierge4pi" 
targetNamespace="http://bluecanopy.com/concierge/definitions" 
xmlns:tns="http://bluecanopy.com/concierge/definitions" 
xmlns:type="http://bluecanopy.com/concierge/types" 
xmlns:ota="http://www.opentravel.org/OTA/2003/05" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns="http://schemas.xmlsoap.org/wsdl/">
	<types>
		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://bluecanopy.com/concierge/types" 
xmlns="http://bluecanopy.com/concierge/types" 
elementFormDefault="qualified">
			<xs:element name="TravelItineraryRQ">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Location" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:schema>
	</types>
	<message name="ItineraryReq">
		<part name="body" element="type:TravelItineraryRQ"/>
	</message>
	<message name="ItineraryRes">
		<part name="body" element="type:TravelItineraryRQ"/>
	</message>
	<portType name="Concierge4piPortType">
		<operation name="getItinerary">
			<input message="tns:ItineraryReq"/>
			<output message="tns:ItineraryRes"/>
		</operation>
	</portType>
	<binding name="Concierge4piBinding" 
type="tns:Concierge4piPortType">
		<soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="getItinerary">
			<soap:operation/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
	</binding>
	<service name="Concierge4piService">
		<port name="Concierge4piPort" 
binding="tns:Concierge4piBinding">
			<soap:address 
location="http://localhost:8080/concierge/Concierge4PiService"/>
		</port>
	</service>
</definitions>




Re: BeanDeserializer Error

Posted by Dies Koper <di...@jp.fujitsu.com>.
Could you show us the SOAP message of the request?
You can use tcpmon to capture it. It has an option to indent the XML, to 
make it easier to read.

Regards,
Dies

Senthil Shamugam wrote:
> I deployed the document/literal webserivce in JBOSS 4.0.4RC1 using Axis 
> 1.3. I generated the server/client from the hand written WSDL. When I'm 
> trying to access from the client I'm getting the following error. It 
> seems a common problem when using document/literal. Could any of you 
> guide me to solve this error.
> 
> 09:24:31,531 ERROR [ServerEngine] Server error: AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
>  faultSubcode:
>  faultString: Invalid element in 
> com.bluecanopy.concierge.webservices.TravelItineraryRQ - Location
>  faultActor:
>  faultNode:
>  faultDetail:
>     {http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException: 
> Invalid element in 
> com.bluecanopy.concierge.webservices.TravelItineraryRQ - Location
>     at 
> org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:455) 
> 
>     at 
> org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1168) 
> 
>     at 
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244) 
> 
>     at 
> org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1394) 
> 
>     at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:266)
>     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:402)
>     at 
> org.apache.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:235) 
> 
>     at 
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:103) 
> 
>     at 
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:358)
>     at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73) 
> 
>     at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:160)
>     at org.apache.axis.SimpleChain.invoke(SimpleChain.java:123)
>     at 
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:560)
>     at 
> org.apache.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:215) 
> 
>     at 
> org.apache.webservice.server.ServerEngine.invoke(ServerEngine.java:104)
>     at 
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:911)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>     at 
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370) 
> 
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
> 
>     at 
> com.bluecanopy.commons.web.TransactionFilter.doHttpFilter(TransactionFilter.java:105) 
> 
>     at 
> com.bluecanopy.commons.web.BaseHttpServletFilter.doFilter(BaseHttpServletFilter.java:62) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
> 
>     at 
> org.apache.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 
> 
>     at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 
> 
>     at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
> 
>     at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) 
> 
>     at 
> org.apache.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54) 
> 
>     at 
> org.apache.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174) 
> 
>     at 
> org.apache.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) 
> 
>     at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) 
> 
>     at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
> 
>     at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
> 
>     at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>     at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
>     at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663) 
> 
>     at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) 
> 
>     at 
> org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) 
> 
>     at java.lang.Thread.run(Thread.java:595)
> 
> The WSDL looks like the following
> 
> <?xml version="1.0"?>
> <definitions name="Concierge4pi" 
> targetNamespace="http://bluecanopy.com/concierge/definitions" 
> xmlns:tns="http://bluecanopy.com/concierge/definitions" 
> xmlns:type="http://bluecanopy.com/concierge/types" 
> xmlns:ota="http://www.opentravel.org/OTA/2003/05" 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
> xmlns:xs="http://www.w3.org/2001/XMLSchema" 
> xmlns="http://schemas.xmlsoap.org/wsdl/">
>     <types>
>         <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
> targetNamespace="http://bluecanopy.com/concierge/types" 
> xmlns="http://bluecanopy.com/concierge/types" 
> elementFormDefault="qualified">
>             <xs:element name="TravelItineraryRQ">
>                 <xs:complexType>
>                     <xs:sequence>
>                         <xs:element name="Location" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>         </xs:schema>
>     </types>
>     <message name="ItineraryReq">
>         <part name="body" element="type:TravelItineraryRQ"/>
>     </message>
>     <message name="ItineraryRes">
>         <part name="body" element="type:TravelItineraryRQ"/>
>     </message>
>     <portType name="Concierge4piPortType">
>         <operation name="getItinerary">
>             <input message="tns:ItineraryReq"/>
>             <output message="tns:ItineraryRes"/>
>         </operation>
>     </portType>
>     <binding name="Concierge4piBinding" type="tns:Concierge4piPortType">
>         <soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>         <operation name="getItinerary">
>             <soap:operation/>
>             <input>
>                 <soap:body use="literal"/>
>             </input>
>             <output>
>                 <soap:body use="literal"/>
>             </output>
>         </operation>
>     </binding>
>     <service name="Concierge4piService">
>         <port name="Concierge4piPort" binding="tns:Concierge4piBinding">
>             <soap:address 
> location="http://localhost:8080/concierge/Concierge4PiService"/>
>         </port>
>     </service>
> </definitions>