You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Emil Dombagolla <do...@gmail.com> on 2011/04/07 14:37:33 UTC
When WSDL location not the endpoint ,
Dear all,
Please help me on this.
I am getting following error when I try to connect to PayPal web service
with my wsdl2java generated client codes.
*=================================================*
*INFO: Creating Service {urn:ebay:api:PayPalAPI}PayPalAPIInterfaceService
from WSDL: https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl
Exception in thread "main" javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:333)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:318)
at javax.xml.ws.Service.getPort(Unknown Source)
at
com.webservice.paypal.PayPalAPIInterfaceService.getPayPalAPIAA(PayPalAPIInterfaceService.java:106)
at test.main(test.java:97)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
at
org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:341)
at
org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:404)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:503)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:242)
at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:202)
at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90)
at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:144)
at
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:133)
at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:464)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:331)
... 4 more
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts
of IllegalAnnotationExceptions
javax.xml.bind.JAXBElement does not have a no-arg default constructor.
this problem is related to the following location:
at javax.xml.bind.JAXBElement
at protected javax.xml.bind.JAXBElement
com.webservice.paypal.ReverseTransactionResponseDetailsType.reverseTransactionID
at com.webservice.paypal.ReverseTransactionResponseDetailsType
at public
com.webservice.paypal.ReverseTransactionResponseDetailsType
com.webservice.paypal.ObjectFactory.createReverseTransactionResponseDetailsType()
at com.webservice.paypal.ObjectFactory
at protected java.lang.Object
com.webservice.paypal.AbstractRequestType.any
at com.webservice.paypal.AbstractRequestType
at
com.webservice.paypal.GetBillingAgreementCustomerDetailsRequestType
at protected
com.webservice.paypal.GetBillingAgreementCustomerDetailsRequestType
com.webservice.paypal.GetBillingAgreementCustomerDetailsReq.getBillingAgreementCustomerDetailsRequest
at com.webservice.paypal.GetBillingAgreementCustomerDetailsReq
*
==========================================
I got the wsdl file for Pay Pal form the following location,
https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
<https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl>
And I used this url to generate my client as follows.
*Wsdl2java –p com.test https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl*
<https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl>
In my generated service stub also using the WSDL location for the service as
following. but the real endpoint should be ,
https://api-aa.sandbox.paypal.com/2.0/,
<https://api-aa.sandbox.paypal.com/2.0/>
*@WebServiceClient(name = "PayPalAPIInterfaceService",
wsdlLocation = "
https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl",
targetNamespace = "urn:ebay:api:PayPalAPI")
public class PayPalAPIInterfaceService extends Service {
public final static URL WSDL_LOCATION;
public final static QName SERVICE = new QName("urn:ebay:api:PayPalAPI",
"PayPalAPIInterfaceService");
public final static QName PayPalAPI = new
QName("urn:ebay:api:PayPalAPI", "PayPalAPI");
public final static QName PayPalAPIAA = new
QName("urn:ebay:api:PayPalAPI", "PayPalAPIAA");
static {
URL url = null;
try {
url = new URL("https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl
");
} catch (MalformedURLException e) {
System.err.println("Can not initialize the default wsdl from
https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl");
// e.printStackTrace();
}
WSDL_LOCATION = url;
}*
*
*
This is may be why I get this error, please someone help me how to configure
this endpoint. Even if I changed in the code it didn’t work. How to
configure this endpoint other than the WSDL location?
Thank you so much.
Emil
Re: When WSDL location not the endpoint ,
Posted by Daniel Kulp <dk...@apache.org>.
Honestly, no idea. I just did:
./wsdl2java -all -d /tmp/t2 -p com.test
https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
cd /tmp/t2
ant PayPalAPIInterfaceClient
and the client started up fine and contacts the PayPal service. (it got an
expected fault back due to not really loging in or anything.)
What version of CXF? JAXB?
Dan
On Thursday 07 April 2011 8:37:33 AM Emil Dombagolla wrote:
> Dear all,
>
>
> Please help me on this.
>
>
> I am getting following error when I try to connect to PayPal web service
> with my wsdl2java generated client codes.
>
>
> *=================================================*
>
>
> *INFO: Creating Service {urn:ebay:api:PayPalAPI}PayPalAPIInterfaceService
> from WSDL: https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl
> Exception in thread "main" javax.xml.ws.WebServiceException:
> org.apache.cxf.service.factory.ServiceConstructionException
> at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:333)
> at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:318)
> at javax.xml.ws.Service.getPort(Unknown Source)
> at
> com.webservice.paypal.PayPalAPIInterfaceService.getPayPalAPIAA(PayPalAPIInt
> erfaceService.java:106) at test.main(test.java:97)
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> at
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:341)
> at
> org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBin
> dings(AbstractServiceFactoryBean.java:86) at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFro
> mWSDL(ReflectionServiceFactoryBean.java:404) at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServi
> ceModel(ReflectionServiceFactoryBean.java:503) at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Reflecti
> onServiceFactoryBean.java:242) at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFac
> toryBean.java:202) at
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(Abs
> tractWSDLBasedEndpointFactory.java:101) at
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90)
> at
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBea
> n.java:144) at
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.jav
> a:133) at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:464)
> at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:331) ... 4
> more
> Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1
> counts of IllegalAnnotationExceptions
> javax.xml.bind.JAXBElement does not have a no-arg default constructor.
> this problem is related to the following location:
> at javax.xml.bind.JAXBElement
> at protected javax.xml.bind.JAXBElement
> com.webservice.paypal.ReverseTransactionResponseDetailsType.reverseTransact
> ionID at com.webservice.paypal.ReverseTransactionResponseDetailsType at
> public
> com.webservice.paypal.ReverseTransactionResponseDetailsType
> com.webservice.paypal.ObjectFactory.createReverseTransactionResponseDetails
> Type() at com.webservice.paypal.ObjectFactory
> at protected java.lang.Object
> com.webservice.paypal.AbstractRequestType.any
> at com.webservice.paypal.AbstractRequestType
> at
> com.webservice.paypal.GetBillingAgreementCustomerDetailsRequestType
> at protected
> com.webservice.paypal.GetBillingAgreementCustomerDetailsRequestType
> com.webservice.paypal.GetBillingAgreementCustomerDetailsReq.getBillingAgree
> mentCustomerDetailsRequest at
> com.webservice.paypal.GetBillingAgreementCustomerDetailsReq *
>
>
>
> ==========================================
>
>
>
> I got the wsdl file for Pay Pal form the following location,
>
> https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl
>
>
> <https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl>
>
> And I used this url to generate my client as follows.
>
> *Wsdl2java –p com.test https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl*
>
>
> <https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl>
>
> In my generated service stub also using the WSDL location for the service
> as following. but the real endpoint should be ,
> https://api-aa.sandbox.paypal.com/2.0/,
>
>
> <https://api-aa.sandbox.paypal.com/2.0/>
>
> *@WebServiceClient(name = "PayPalAPIInterfaceService",
> wsdlLocation = "
> https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl",
> targetNamespace = "urn:ebay:api:PayPalAPI")
> public class PayPalAPIInterfaceService extends Service {
>
> public final static URL WSDL_LOCATION;
>
> public final static QName SERVICE = new QName("urn:ebay:api:PayPalAPI",
> "PayPalAPIInterfaceService");
> public final static QName PayPalAPI = new
> QName("urn:ebay:api:PayPalAPI", "PayPalAPI");
> public final static QName PayPalAPIAA = new
> QName("urn:ebay:api:PayPalAPI", "PayPalAPIAA");
> static {
> URL url = null;
> try {
> url = new
> URL("https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl ");
> } catch (MalformedURLException e) {
> System.err.println("Can not initialize the default wsdl from
> https://www.paypalobjects.com/wsdl/PayPalSvc.wsdl");
> // e.printStackTrace();
> }
> WSDL_LOCATION = url;
> }*
>
>
> *
> *
>
> This is may be why I get this error, please someone help me how to
> configure this endpoint. Even if I changed in the code it didn’t work. How
> to configure this endpoint other than the WSDL location?
>
>
> Thank you so much.
>
> Emil
--
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com