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]