You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by prashi11 <pr...@landisgyr.com> on 2012/04/11 07:11:39 UTC

Calling java service from DotNet client getting unmarshal exception

*Disclaimer - *I have looked at this post but did not get help - 
http://cxf.547215.n5.nabble.com/Problem-with-service-call-in-osgi-Unmarshalling-Error-unexpected-element-uri-quot-quot-local-quot-cu-td2651066.html
http://cxf.547215.n5.nabble.com/Problem-with-service-call-in-osgi-Unmarshalling-Error-unexpected-element-uri-quot-quot-local-quot-cu-td2651066.html 
[http://cxf.547215.n5.nabble.com/Problem-with-service-call-in-osgi-Unmarshalling-Error-unexpected-element-uri-quot-quot-local-quot-cu-td2651066.html]

I am writing a java application that starts simple apache cxf web service
server as standalone application (without any web container or application
server.)

I am using the following: - 
 - Java6
 - cxf-api-2.2.5.jar
 - cxf-common-schemas-2.2.5.jar
 - cxf-common-utilities-2.2.5.jar
 - cxf-rt-bindings-soap-2.2.5.jar
 - cxf-rt-bindings-xml-2.2.5.jar
 - cxf-rt-core-2.2.5.jar
 - cxf-rt-databinding-jaxb-2.2.5.jar
 - cxf-rt-frontend-jaxws-2.2.5.jar
 - cxf-rt-frontend-simple-2.2.5.jar
 - cxf-rt-transports-http-2.2.5.jar
 - cxf-rt-transports-http-jetty-2.2.5.jar
 - cxf-rt-ws-addr-2.2.5.jar
 - cxf-tools-common-2.2.5.jar
 - geronimo-activation_1.1_spec-1.0.2.jar
 - geronimo-annotation_1.0_spec-1.1.1.jar
 - geronimo-j2ee-management_1.0_spec-1.0.jar
 - geronimo-javamail_1.4_spec-1.6.jar
 - geronimo-jaxws_2.1_spec-1.0.jar
 - geronimo-jms_1.1_spec-1.1.1.jar
 - geronimo-servlet_2.5_spec-1.2.jar
 - geronimo-stax-api_1.0_spec-1.0.1.jar
 - geronimo-ws-metadata_2.0_spec-1.1.2.jar
 - jaxb-api-2.1.jar
 - jaxb-impl-2.1.12.jar
 

I have written client for this service in Dot-Net and invoking the service
using the Dot-Net client.

There are two cases: - 

	1. When I run my service from eclipse IDE, and hitting the service using
DotNet client which I am invoking using a batch file, then everything works
well.

	2. When I run my java service using a batch file, then hitting the service
using the DotNet client in the same manner as I have done earlier, then I am
getting this exception: - 


------------------------------------------------------------------------------------------------------------------------

DefaultValidationEventHandler: [ERROR]: unexpected element
(uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
elements are <{}CorrelationI
d>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
     Location: line 1
Apr 11, 2012 10:23:20 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element
(uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
elements are
<{}CorrelationId>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:764)
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:623)
        at
org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
        at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:101)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.bind.UnmarshalException: unexpected element
(uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
elements are <{}CorrelationId>,<
{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>]
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:749)
        ... 19 more
Caused by: javax.xml.bind.UnmarshalException: unexpected element
(uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
elements are <{}Correl
ationId>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:249)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:116)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:101)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.childElement(StructureLoader.java:245)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:478)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
        at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
        ... 21 more
Caused by: javax.xml.bind.UnmarshalException: unexpected element
(uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
elements are <{}Correl
ationId>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
        ... 32 more
Total performance time in GSIS is = 0
Apr 11, 2012 10:23:20 AM com.abc.gsis.client.GSISTestClient$1 run
INFO: Total performance time in GSIS is = 0
Apr 11, 2012 10:23:20 AM
org.apache.cxf.transport.http.AbstractHTTPDestination flushHeaders
WARNING: Response object is null
Apr 11, 2012 10:23:20 AM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
        at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:284)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
        at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.io.IOException: Response object is null
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:507)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:576)
        at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        ... 18 more

------------------------------------------------------------------------------------------------------------------------

It is entirely making me blank, when I start the same service through a
batch file then it does not work at all. Although I have set the same
classpath which has been set in eclipse.

Using fiddler I have also captured the request, the request from the DotNet
client is same in both the cases. The only difference is that when I run my
Java service using batch file, then the service is unable to marshal some of
the elements from the request.

Anyone in this forum have any idea about the above exception stack trace? Am
I missing anything here, please do let me know?

Thanks in advance for your efforts and solutions.
------------------------------------------------------------------------------------------------------------------------

The Java service wsdl definition is: - 

<wsdl:definitions xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.abc.com/ghes/GHESReceiveService"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="GHESReceiveService"
targetNamespace="http://www.abc.com/ghes/GHESReceiveService">
<wsdl:types>
	<xs:schema xmlns:tns="http://www.abc.com/ghes/GHESReceiveService"
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
targetNamespace="http://www.abc.com/ghes/GHESReceiveService" version="1.0">
		<xs:element name="Header" type="tns:Header"/>
		<xs:element name="ReadByMeterId" type="tns:ReadByMeterId"/>
		<xs:element name="ReadingQuality" type="tns:ReadingQuality"/>
		<xs:element name="ReadingType" type="tns:ReadingType"/>
		<xs:element name="Request" type="tns:Request"/>
		<xs:element name="TimeSchedule" type="tns:TimeSchedule"/>
		<xs:complexType name="ReadByMeterId">
			<xs:sequence>
			<xs:element form="qualified" minOccurs="0" name="header"
type="tns:Header"/>
			<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
name="requests" type="tns:Request"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="Header">
			<xs:sequence>
			<xs:element minOccurs="0" name="ReplyAddress" type="xs:string"/>
			<xs:element minOccurs="0" name="CorrelationId" type="xs:string"/>
			<xs:element minOccurs="0" name="MessageId" type="xs:string"/>
			<xs:element minOccurs="0" name="UserId" type="xs:string"/>
			<xs:element minOccurs="0" name="Password" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="Request">
			<xs:sequence>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="MeterIds"
type="xs:string"/>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="ReadingTypes"
type="tns:ReadingType"/>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="ReadingQualities"
type="tns:ReadingQuality"/>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="TimeSchedules"
type="tns:TimeSchedule"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="TimeSchedule">
			<xs:sequence>
			<xs:element minOccurs="0" name="Start" type="xs:dateTime"/>
			<xs:element minOccurs="0" name="End" type="xs:dateTime"/>
			</xs:sequence>
		</xs:complexType>
		<xs:simpleType name="ReadingType">
			<xs:restriction base="xs:string">
			<xs:enumeration value="notSpecified"/>
			<xs:enumeration value="invalidReadingType"/>
			<xs:enumeration value="energizationStatus"/>
			<xs:enumeration value="switchPosition"/>
			<xs:enumeration value="forwardApparentEnergy"/>
			<xs:enumeration value="forwardActiveEnergy"/>
			<xs:enumeration value="forwardReactiveEnergy"/>
			<xs:enumeration value="reverseApparentEnergy"/>
			<xs:enumeration value="reverseActiveEnergy"/>
			<xs:enumeration value="reverseReactiveEnergy"/>
			<xs:enumeration value="totalApparentEnergy"/>
			<xs:enumeration value="totalActiveEnergy"/>
			<xs:enumeration value="totalReactiveEnergy"/>
			</xs:restriction>
		</xs:simpleType>
		<xs:simpleType name="ReadingQuality">
			<xs:restriction base="xs:string">
			<xs:enumeration value="notSpecified"/>
			<xs:enumeration value="dataValid"/>
			<xs:enumeration value="validated"/>
			<xs:enumeration value="knownMissingRead"/>
			<xs:enumeration value="failedValidation"/>
			<xs:enumeration value="manuallyEdited"/>
			<xs:enumeration value="estimatedGeneric"/>
			<xs:enumeration value="indeterminate"/>
			<xs:enumeration value="manuallyAccepted"/>
			<xs:enumeration value="derivedGeneric"/>
			<xs:enumeration value="derivedInferred"/>
			<xs:enumeration value="revenueProtectedSuspect"/>
			<xs:enumeration value="staticDataFlag"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:schema>
</wsdl:types>
<wsdl:message name="ReadByMeterId">
<wsdl:part element="tns:ReadByMeterId" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:portType name="GHESReceiveInterface">
<wsdl:operation name="ReadByMeterId">
<wsdl:input message="tns:ReadByMeterId" name="ReadByMeterId"></wsdl:input>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GHESReceiveServiceSoapBinding"
type="tns:GHESReceiveInterface">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="ReadByMeterId">
<soap:operation
soapAction="http://www.abc.com/ghes/GHESReceiveService/ReadByMeterId"
style="document"/>
<wsdl:input name="ReadByMeterId">
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GHESReceiveService">
<wsdl:port binding="tns:GHESReceiveServiceSoapBinding"
name="BasicHttpBinding_GHESReceiveInterface">
<soap:address location="http://127.0.0.1:9001/GSIS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
------------------------------------------------------------------------------------------------------------------------

--
View this message in context: http://cxf.547215.n5.nabble.com/Calling-java-service-from-DotNet-client-getting-unmarshal-exception-tp5631860p5631860.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: Calling java service from DotNet client getting unmarshal exception

Posted by Daniel Kulp <dk...@apache.org>.
The key is the elementFormDefault="unqualified" flag in the wsdl.   Is this 
wsdl generated from the service?    Is that flag different when run from 
within  Eclipse as compared to standalone?   With it unqualified, the error 
message is 100% correct.   That element needs to be unqualified.  Not sure 
why it would be working in Eclipse unless a different wsdl is being 
used/generated.

If this is a "wsdl first" case, definitely check that the proper wsdl is 
being used, the code is properly being generated from the wsdl, and also 
that the packaging for the service is properly adding all the package-
info.class files into the packaging.    You can also try adding -xjc-npa 
flag to the wsdl2java command to make it less reliant on the package-
info.java stuff.

Dan


On Thursday, April 12, 2012 04:43:41 AM prashi11 wrote:
> Thanks Alex O'Ree for giving time to this post.
> Although I have already mentioned about the classpath and fiddler in my
> earlier mail.
> Initially I have also thought it could be a classpath issue, then I set
> the same classpath for batch file which has been set for eclipse. Also, I
> have used fiddler to capture the request, the request from the DotNet
> client is same as I was sending for eclipse, that is, the requests are
> identical.
> 
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/Calling-java-service-from-DotNet-client-g
> etting-unmarshal-exception-tp5631860p5635397.html Sent from the cxf-user
> mailing list archive at Nabble.com.
-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Re: Calling java service from DotNet client getting unmarshal exception

Posted by prashi11 <pr...@landisgyr.com>.
Thanks Alex O'Ree for giving time to this post.
Although I have already mentioned about the classpath and fiddler in my
earlier mail. 
Initially I have also thought it could be a classpath issue, then I set the
same classpath for batch file which has been set for eclipse. Also, I have
used fiddler to capture the request, the request from the DotNet client is
same as I was sending for eclipse, that is, the requests are identical.  

--
View this message in context: http://cxf.547215.n5.nabble.com/Calling-java-service-from-DotNet-client-getting-unmarshal-exception-tp5631860p5635397.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: Calling java service from DotNet client getting unmarshal exception

Posted by Alex O'Ree <sp...@gmail.com>.
it could be a classpath issue. you could try using the endorsed lib
jvm parameters.

i'd also suggest using tcpmon or fiddler or something like that to get
a copies of the messages on the wire and compare them. If they are
identical, it's probably a classpath issue.


On Wed, Apr 11, 2012 at 1:11 AM, prashi11 <pr...@landisgyr.com> wrote:
> *Disclaimer - *I have looked at this post but did not get help -
> http://cxf.547215.n5.nabble.com/Problem-with-service-call-in-osgi-Unmarshalling-Error-unexpected-element-uri-quot-quot-local-quot-cu-td2651066.html
> http://cxf.547215.n5.nabble.com/Problem-with-service-call-in-osgi-Unmarshalling-Error-unexpected-element-uri-quot-quot-local-quot-cu-td2651066.html
> [http://cxf.547215.n5.nabble.com/Problem-with-service-call-in-osgi-Unmarshalling-Error-unexpected-element-uri-quot-quot-local-quot-cu-td2651066.html]
>
> I am writing a java application that starts simple apache cxf web service
> server as standalone application (without any web container or application
> server.)
>
> I am using the following: -
>  - Java6
>  - cxf-api-2.2.5.jar
>  - cxf-common-schemas-2.2.5.jar
>  - cxf-common-utilities-2.2.5.jar
>  - cxf-rt-bindings-soap-2.2.5.jar
>  - cxf-rt-bindings-xml-2.2.5.jar
>  - cxf-rt-core-2.2.5.jar
>  - cxf-rt-databinding-jaxb-2.2.5.jar
>  - cxf-rt-frontend-jaxws-2.2.5.jar
>  - cxf-rt-frontend-simple-2.2.5.jar
>  - cxf-rt-transports-http-2.2.5.jar
>  - cxf-rt-transports-http-jetty-2.2.5.jar
>  - cxf-rt-ws-addr-2.2.5.jar
>  - cxf-tools-common-2.2.5.jar
>  - geronimo-activation_1.1_spec-1.0.2.jar
>  - geronimo-annotation_1.0_spec-1.1.1.jar
>  - geronimo-j2ee-management_1.0_spec-1.0.jar
>  - geronimo-javamail_1.4_spec-1.6.jar
>  - geronimo-jaxws_2.1_spec-1.0.jar
>  - geronimo-jms_1.1_spec-1.1.1.jar
>  - geronimo-servlet_2.5_spec-1.2.jar
>  - geronimo-stax-api_1.0_spec-1.0.1.jar
>  - geronimo-ws-metadata_2.0_spec-1.1.2.jar
>  - jaxb-api-2.1.jar
>  - jaxb-impl-2.1.12.jar
>
>
> I have written client for this service in Dot-Net and invoking the service
> using the Dot-Net client.
>
> There are two cases: -
>
>        1. When I run my service from eclipse IDE, and hitting the service using
> DotNet client which I am invoking using a batch file, then everything works
> well.
>
>        2. When I run my java service using a batch file, then hitting the service
> using the DotNet client in the same manner as I have done earlier, then I am
> getting this exception: -
>
>
> ------------------------------------------------------------------------------------------------------------------------
>
> DefaultValidationEventHandler: [ERROR]: unexpected element
> (uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
> elements are <{}CorrelationI
> d>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
>     Location: line 1
> Apr 11, 2012 10:23:20 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element
> (uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
> elements are
> <{}CorrelationId>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
>        at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:764)
>        at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:623)
>        at
> org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:128)
>        at
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:101)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>        at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>        at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>        at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>        at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>        at org.mortbay.jetty.Server.handle(Server.java:326)
>        at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
>        at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
>        at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>        at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: javax.xml.bind.UnmarshalException
>  - with linked exception:
> [javax.xml.bind.UnmarshalException: unexpected element
> (uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
> elements are <{}CorrelationId>,<
> {}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>]
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:425)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>        at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:749)
>        ... 19 more
> Caused by: javax.xml.bind.UnmarshalException: unexpected element
> (uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
> elements are <{}Correl
> ationId>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:254)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:249)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:116)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:101)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.StructureLoader.childElement(StructureLoader.java:245)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:478)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:242)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:176)
>        at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>        ... 21 more
> Caused by: javax.xml.bind.UnmarshalException: unexpected element
> (uri:"http://www.abc.com/ghes/message", local:"ReplyAddress"). Expected
> elements are <{}Correl
> ationId>,<{}MessageId>,<{}Password>,<{}UserId>,<{}ReplyAddress>
>        ... 32 more
> Total performance time in GSIS is = 0
> Apr 11, 2012 10:23:20 AM com.abc.gsis.client.GSISTestClient$1 run
> INFO: Total performance time in GSIS is = 0
> Apr 11, 2012 10:23:20 AM
> org.apache.cxf.transport.http.AbstractHTTPDestination flushHeaders
> WARNING: Response object is null
> Apr 11, 2012 10:23:20 AM org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept
> WARNING: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not send Message.
>        at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>        at
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:284)
>        at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>        at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>        at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>        at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>        at org.mortbay.jetty.Server.handle(Server.java:326)
>        at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
>        at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
>        at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>        at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: java.io.IOException: Response object is null
>        at
> org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:507)
>        at
> org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(AbstractHTTPDestination.java:576)
>        at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>        at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>        ... 18 more
>
> ------------------------------------------------------------------------------------------------------------------------
>
> It is entirely making me blank, when I start the same service through a
> batch file then it does not work at all. Although I have set the same
> classpath which has been set in eclipse.
>
> Using fiddler I have also captured the request, the request from the DotNet
> client is same in both the cases. The only difference is that when I run my
> Java service using batch file, then the service is unable to marshal some of
> the elements from the request.
>
> Anyone in this forum have any idea about the above exception stack trace? Am
> I missing anything here, please do let me know?
>
> Thanks in advance for your efforts and solutions.
> ------------------------------------------------------------------------------------------------------------------------
>
> The Java service wsdl definition is: -
>
> <wsdl:definitions xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://www.abc.com/ghes/GHESReceiveService"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="GHESReceiveService"
> targetNamespace="http://www.abc.com/ghes/GHESReceiveService">
> <wsdl:types>
>        <xs:schema xmlns:tns="http://www.abc.com/ghes/GHESReceiveService"
> xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified"
> targetNamespace="http://www.abc.com/ghes/GHESReceiveService" version="1.0">
>                <xs:element name="Header" type="tns:Header"/>
>                <xs:element name="ReadByMeterId" type="tns:ReadByMeterId"/>
>                <xs:element name="ReadingQuality" type="tns:ReadingQuality"/>
>                <xs:element name="ReadingType" type="tns:ReadingType"/>
>                <xs:element name="Request" type="tns:Request"/>
>                <xs:element name="TimeSchedule" type="tns:TimeSchedule"/>
>                <xs:complexType name="ReadByMeterId">
>                        <xs:sequence>
>                        <xs:element form="qualified" minOccurs="0" name="header"
> type="tns:Header"/>
>                        <xs:element form="qualified" maxOccurs="unbounded" minOccurs="0"
> name="requests" type="tns:Request"/>
>                        </xs:sequence>
>                </xs:complexType>
>                <xs:complexType name="Header">
>                        <xs:sequence>
>                        <xs:element minOccurs="0" name="ReplyAddress" type="xs:string"/>
>                        <xs:element minOccurs="0" name="CorrelationId" type="xs:string"/>
>                        <xs:element minOccurs="0" name="MessageId" type="xs:string"/>
>                        <xs:element minOccurs="0" name="UserId" type="xs:string"/>
>                        <xs:element minOccurs="0" name="Password" type="xs:string"/>
>                        </xs:sequence>
>                </xs:complexType>
>                <xs:complexType name="Request">
>                        <xs:sequence>
>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="MeterIds"
> type="xs:string"/>
>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="ReadingTypes"
> type="tns:ReadingType"/>
>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="ReadingQualities"
> type="tns:ReadingQuality"/>
>                        <xs:element maxOccurs="unbounded" minOccurs="0" name="TimeSchedules"
> type="tns:TimeSchedule"/>
>                        </xs:sequence>
>                </xs:complexType>
>                <xs:complexType name="TimeSchedule">
>                        <xs:sequence>
>                        <xs:element minOccurs="0" name="Start" type="xs:dateTime"/>
>                        <xs:element minOccurs="0" name="End" type="xs:dateTime"/>
>                        </xs:sequence>
>                </xs:complexType>
>                <xs:simpleType name="ReadingType">
>                        <xs:restriction base="xs:string">
>                        <xs:enumeration value="notSpecified"/>
>                        <xs:enumeration value="invalidReadingType"/>
>                        <xs:enumeration value="energizationStatus"/>
>                        <xs:enumeration value="switchPosition"/>
>                        <xs:enumeration value="forwardApparentEnergy"/>
>                        <xs:enumeration value="forwardActiveEnergy"/>
>                        <xs:enumeration value="forwardReactiveEnergy"/>
>                        <xs:enumeration value="reverseApparentEnergy"/>
>                        <xs:enumeration value="reverseActiveEnergy"/>
>                        <xs:enumeration value="reverseReactiveEnergy"/>
>                        <xs:enumeration value="totalApparentEnergy"/>
>                        <xs:enumeration value="totalActiveEnergy"/>
>                        <xs:enumeration value="totalReactiveEnergy"/>
>                        </xs:restriction>
>                </xs:simpleType>
>                <xs:simpleType name="ReadingQuality">
>                        <xs:restriction base="xs:string">
>                        <xs:enumeration value="notSpecified"/>
>                        <xs:enumeration value="dataValid"/>
>                        <xs:enumeration value="validated"/>
>                        <xs:enumeration value="knownMissingRead"/>
>                        <xs:enumeration value="failedValidation"/>
>                        <xs:enumeration value="manuallyEdited"/>
>                        <xs:enumeration value="estimatedGeneric"/>
>                        <xs:enumeration value="indeterminate"/>
>                        <xs:enumeration value="manuallyAccepted"/>
>                        <xs:enumeration value="derivedGeneric"/>
>                        <xs:enumeration value="derivedInferred"/>
>                        <xs:enumeration value="revenueProtectedSuspect"/>
>                        <xs:enumeration value="staticDataFlag"/>
>                        </xs:restriction>
>                </xs:simpleType>
>        </xs:schema>
> </wsdl:types>
> <wsdl:message name="ReadByMeterId">
> <wsdl:part element="tns:ReadByMeterId" name="parameters"></wsdl:part>
> </wsdl:message>
> <wsdl:portType name="GHESReceiveInterface">
> <wsdl:operation name="ReadByMeterId">
> <wsdl:input message="tns:ReadByMeterId" name="ReadByMeterId"></wsdl:input>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="GHESReceiveServiceSoapBinding"
> type="tns:GHESReceiveInterface">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="ReadByMeterId">
> <soap:operation
> soapAction="http://www.abc.com/ghes/GHESReceiveService/ReadByMeterId"
> style="document"/>
> <wsdl:input name="ReadByMeterId">
> <soap:body use="literal"/>
> </wsdl:input>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="GHESReceiveService">
> <wsdl:port binding="tns:GHESReceiveServiceSoapBinding"
> name="BasicHttpBinding_GHESReceiveInterface">
> <soap:address location="http://127.0.0.1:9001/GSIS"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> ------------------------------------------------------------------------------------------------------------------------
>
> --
> View this message in context: http://cxf.547215.n5.nabble.com/Calling-java-service-from-DotNet-client-getting-unmarshal-exception-tp5631860p5631860.html
> Sent from the cxf-user mailing list archive at Nabble.com.