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.