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 <[email protected]> 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.

Reply via email to