wsdl based web-service (like a paypal simulator)?
rocken7 Oct 2, 2007 6:13 PMKind of confused, so I'll explain.
I'm trying to simulate the paypal soap stack by using the paypal wsdl file.
I generate the source from the wsdl and can use the @WebServiceClient against the paypal sandbox web service and works great.
I can't seem to roll my own @WebService of that for a number of reasons.
Here are my service annotations:
@Stateless @WebService(endpointInterface="ebay.api.paypalapi.PayPalAPIAAInterface", name = "PayPalAPIAA", targetNamespace = "urn:ebay:api:PayPalAPI", wsdlLocation="http://localhost:8080/txs/wsdl/PayPalSvc.wsdl") @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public class PaypalSoapSimulator implements PayPalAPIAAInterface { ... }
Here is a working (against the true paypal sandbox) paypal client service class (annotations):
@WebServiceClient(name = "PayPalAPIInterfaceService", targetNamespace = "urn:ebay:api:PayPalAPI", wsdlLocation = "http://localhost:8080/txs/wsdl/PayPalSvc.wsdl") public class PayPalAPIInterfaceService extends Service { ... }
Now I deploy an .ear with an embedded and working .war that does have the wsdl + xsd files in the web root (/txs). I have a .jar with ejb3 entity pkgs and my PaypalSoapSimulator class (this might be an issue).
Note: a copy of the wsdl and xsd files is in the webroot under the /wsdl folder. I have hard-coded the xsd import(s) to use an absolute url but I've also tried using the default local filename.
When jboss-4.0.5.GA (with jbossws 2.0.1.GA) starts up it hangs:
2007-10-02 21:52:19,590 DEBUG [org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder] processSOAPBinding on: ebay.api.paypalapi.PayPalAPIAAInterface 2007-10-02 21:52:19,590 DEBUG [org.jboss.ws.metadata.umdm.EndpointMetaData] setParameterStyle: BARE 2007-10-02 21:52:19,606 DEBUG [org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory] parse: http://localhost:8080/txs/wsdl/PayPalSvc.wsdl 2007-10-02 21:58:59,903 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000 2007-10-02 22:06:29,903 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] run: IdleRemover notifying pools, interval: 450000
It hangs forever and ever and nothing deploys .... can't see the wsdl file in the browser either (404).
Can someone point me to a valid example of creating wsdl-based @WebService, and how to implement the service interface, and the proper annotations (esp. for specific wsdlLocation, even a file based location would be super cool as that seems like black magic b/c noone shows how its done).
Also a layout of the deploy bundle for this: does my ejb3 .jar require specifics to roll the @WebService or are the annotations enough?
Should my @WebService be in the .war with something special in the web.xml file for mapping?
Is this a bug in the sense that jboss hangs forever?