Hi again,
I tried your code snippet and played around with it, but i'm always
getting a NullPointerException when the getPort method is called (see
below).
java.lang.NullPointerException
at
com.sun.xml.internal.ws.client.WSServiceDelegate.getPortModel(Unknown
Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(Unknown
Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(Unknown
Source)
at javax.xml.ws.Service.getPort(Unknown Source)
Do you you have any idea how i can solve this problem?
Steve
Daniel Kulp schrieb:
Ooopss. Missed a line in there:
QName portName = new QName("http://the.name.space",
"MyPort");
QName servName = new QName("http://the.name.space",
"MyService");
Service service = Service.create(servName);
service.addPort(portName,
SOAPBinding.SOAP11HTTP_BINDING,
address);
MyPortType port = service.getPort(portName, MyPortType.class);
Dan
On Friday 21 March 2008, Daniel Kulp wrote:
On Friday 21 March 2008, Red Eagle wrote:
Thanks for your fast reply,
I tried your solution but i'm always getting an null pointer
exception we because service.getPort returns it. I used wsdl2java to
generate all the jaxb classes.
Can you give me a hint how i can solve this null pointer problem
The easiest way may be to just throw out the generated Service class
(just use the interface and types) via:
QName portName = new QName("http://the.name.space",
"MyPort");
QName servName = new QName("http://the.name.space",
"MyService");
Service service = Service.create(servName);
MyPortType port = service.getPort(portName, MyPortType.class);
((BindingProvider)port).get.........
Dan
regards
Daniel Kulp schrieb:
On Friday 21 March 2008, Red Eagle wrote:
I want to communicate with an web service which doesn't provide
an wsdl file. For generating the java classes I took an wsdl file
from my file system.
So far so good.
I successfully implemented an client which talks to the server
but the client takes the wsdl file. So I tried to set the
Endpoint URL directly with the method addPort but always an
exception occurred that the wsdl file wasn't found.
I looked into the generated service class and saw that he needs
an wsdl file, so my question is if it is possible to switch this
behaviour off.
Yep. You can pass in null for the wsdl url and just rely on the
annotations for formatting the message. That's perfectly fine.
The issue is how to set the URL that the endpoint then hits.
The spec does allow for this via the BindingProvider:
MyThing port = service.getPort(....);
((BindingProvider)port).getRequestContext().put(
BindingProvider.ENDPOINT_ADDRESS_PROPERTY, address);