You have @XmlRootElement(name = "OrderRequest")

I didn't pay any attention to it,
<OrderRequest>
<orderId>23544619</orderId>
</OrderRequest>

should do. It's really a JAXB issue

cheers, Sergey



----- Original Message ----- From: "Pydipati, Karuna" <[email protected]>
To: <[email protected]>
Sent: Wednesday, November 18, 2009 5:07 PM
Subject: RE: Deploying JAXWS&JAXRS together - error


I tried that too. I am getting this exception.

09:05:44,793 ERROR [STDERR] Nov 18, 2009 9:05:44 AM
org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
ID: 2
Address:
/paymentapi/stubHubPaymentJaxwsJaxrs_rest/payment/getorderpaymentmethod
Encoding: ISO-8859-1
Content-Type: application/xml
Headers: {content-length=[58], accept-encoding=[gzip,deflate],
host=[10.249.136.95:28080], user-agent=[Jakarta Commons-H
ttpClient/3.1], Content-Type=[application/xml],
content-type=[application/xml], Accept=[application/xml]}
Payload: <orderRequest>
<orderId>23544619</orderId>
</orderRequest>
--------------------------------------
09:05:44,856 ERROR [STDERR] Nov 18, 2009 9:05:44 AM
org.apache.cxf.jaxrs.provider.AbstractJAXBProvider handleJAXBExcepti
on
WARNING: javax.xml.bind.UnmarshalException: unexpected element (uri:"",
local:"orderRequest"). Expected elements are <{}
OrderRequest>
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEven
t(UnmarshallingContext.java:603)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:
244)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:
239)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildEle
ment(Loader.java:116)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRoo
tLoader.childElement(UnmarshallingCon
text.java:1009)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElem
ent(UnmarshallingContext.java:446)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startEleme
nt(UnmarshallingContext.java:427)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXCo
nnector.java:137)
       at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
       at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
       at
org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scan
RootElementHook(Unknown Source)
       at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis
patcher.dispatch(Unknown Source)
       at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno
wn Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)

Regards
Karuna Pydipati
StubHub/eBay - Platform & Services
Phone: (415)222-8752
Email: [email protected]




-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]] Sent: Wednesday, November 18, 2009 4:48 AM
To: [email protected]
Subject: Re: Deploying JAXWS&JAXRS together - error

Hi

You have the following payload

<getOrderPaymentMethodRequest>
<orderId>23544619</orderId>      </getOrderPaymentMethodRequest>

but it only works for SOAP as the JAXWS runtime ensures the Orderrequest
bean is populated out of thid request XML...

for plain HTTP invocations it has to be something like

<orderRequest>
<orderId>23544619</orderId>
</orderRequest>

cheers, Sergey


----- Original Message -----
From: "Pydipati, Karuna" <[email protected]>
To: <[email protected]>
Sent: Wednesday, November 18, 2009 3:26 AM
Subject: RE: Deploying JAXWS&JAXRS together - error


I have this JAXWS-JAXRS method. SOAP call is working fine. When I try to
call do REST call, it is failing. Probably, I am not sending the POST
payload properly. Do you guys have any clue? I copied the
OrderRequest.java at the end.

@WebMethod
   @POST
   @Path("/getorderpaymentmethod")
   @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
   @WebResult(targetNamespace = "http://payment.api.xxxxx.com/";,
partName = "partGetOrderPaymentMethodResponse", name =
"getOrderPaymentMethodResponse")

public GetOrderPaymentMethodResponse getOrderPaymentMethod(
@WebParam(partName = "partGetOrderPaymentMethodRequest", name = "getOrderPaymentMethodRequest", targetNamespace = "http://payment.api.xxxxx.com/";)
OrderRequest partGetOrderPaymentMethodRequest,

@WebParam(targetNamespace = "http://payment.api.xxxxx.com/";, name = "AuthHeader", header = true, partName = "AuthHeader")
com.xxxxx.webservices.common.AuthHeader authHeader) throws
xxxxxFault;

--------------------------------------
19:12:15,583 ERROR [STDERR] Nov 17, 2009 7:12:15 PM
org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
ID: 25
Address:
/paymentapi/stubHubPaymentJaxwsJaxrs_rest/payment/getorderpaymentmethod
Encoding: ISO-8859-1
Content-Type: application/xml
Headers: {content-length=[109], connection=[keep-alive],
cache-control=[no-cache], host=[10.249.136.95:28080], user-agen
t=[Java/1.5.0_14], pragma=[no-cache], Content-Type=[application/xml],
content-type=[application/xml], Accept=[text/html,
image/gif, image/jpeg, *; q=.2, */*; q=.2], content-language=[en-US]}
Payload:       <getOrderPaymentMethodRequest>
<orderId>23544619</orderId>      </getOrderPaymentMethodRequest>
--------------------------------------
19:12:15,583 ERROR [STDERR] Nov 17, 2009 7:12:15 PM
org.apache.cxf.jaxrs.provider.AbstractJAXBProvider handleJAXBExcepti
on
WARNING: javax.xml.bind.UnmarshalException: unexpected element (uri:"",
local:"getOrderPaymentMethodRequest"). Expected
elements are <{}OrderRequest>
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEven
t(UnmarshallingContext.java:603)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:
244)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:
239)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildEle
ment(Loader.java:116)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRoo
tLoader.childElement(UnmarshallingCon
text.java:1009)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElem
ent(UnmarshallingContext.java:446)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startEleme
nt(UnmarshallingContext.java:427)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXCo
nnector.java:137)
       at
org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
       at
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
       at
org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scan
RootElementHook(Unknown Source)
       at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis
patcher.dispatch(Unknown Source)
       at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno
wn Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
       at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
Source)
       at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
       at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
       at
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unm
arshallerImpl.java:211)
       at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unma
rshallerImpl.java:184)
       at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmars
hallerImpl.java:137)
       at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmars
hallerImpl.java:184)
       at
org.apache.cxf.jaxrs.provider.JAXBElementProvider.unmarshalFromInputStre
am(JAXBElementProvider.java:193)
       at
org.apache.cxf.jaxrs.provider.JAXBElementProvider.doUnmarshal(JAXBElemen
tProvider.java:176)
       at
org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementPr
ovider.java:150)
       at
org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.jav
a:861)
       at
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:4
94)
       at
org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:
459)
       at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRS
InInterceptor.java:204)
       at
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSI
nInterceptor.java:65)
       at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:236)
       at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiati
onObserver.java:104)
       at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestin
ation.java:99)
       at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(Ser
vletController.java:452)
       at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletControl
ler.java:159)
       at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFSe
rvlet.java:220)
       at
org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFSe
rvlet.java:153)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
       at
org.apache.cxf.transport.servlet.AbstractCXFServlet.service(AbstractCXFS
ervlet.java:211)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:290)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:206)
       at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:96)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:206)
       at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:230)
       at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:175)
       at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs
sociationValve.java:179)
       at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j
ava:84)
       at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:127)
       at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:102)
       at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConn
ectionValve.java:157)
       at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
       at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2
62)
       at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84
4)
       at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Http11Protocol.java:583)
       at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
       at java.lang.Thread.run(Thread.java:595)
19:12:15,583 ERROR [STDERR] Nov 17, 2009 7:12:15 PM
org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
WARNING: WebApplicationException has been caught : unexpected element
(uri:"", local:"getOrderPaymentMethodRequest"). Ex
pected elements are <{}OrderRequest>
19:12:15,583 ERROR [STDERR] Nov 17, 2009 7:12:15 PM
org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onC
lose
INFO: Outbound Message
---------------------------
ID: 25
Encoding:
Content-Type: text/plain
Headers: {Content-Type=[text/plain], Date=[Wed, 18 Nov 2009 03:12:15
GMT]}
Payload: JAXBException occurred : unexpected element (uri:"",
local:"getOrderPaymentMethodRequest"). Expected elements a
re <{}OrderRequest>.
--------------------------------------

OrderRequest.java
------------------

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "orderRequest", propOrder = { "orderId" })
@XmlRootElement(name = "OrderRequest")
public class OrderRequest {

@XmlElement(required = true)
protected Long orderId;

public Long getOrderId() {
return orderId;
}

public void setOrderId(Long value) {
this.orderId = value;
}

}

AuthHeader.java
---------------

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "authHeader", propOrder = { "userId" })
@XmlRootElement(name = "AuthHeader")
public class AuthHeader {

   @XmlElement(name = "UserId", required = true)
protected Long userId;

public Long getUserId() {
return userId;
}

public void setUserId(Long userId) {
this.userId = userId;
}

}

Regards
Karuna Pydipati
StubHub/eBay - Platform & Services
Phone: (415)222-8752
Email: [email protected]



Reply via email to