Reputation: 127
I use JAX-WS thats ships with jdk to create soap client. Now, the service provider isn't exposing the wsdl. How to create soap client without wsdl, if I know the provided services?
Edit: I have the freedom to use any soap api/tool, not restricted to JAX-WS.
Edit2: Here is the message that is shown when the service url is hit. Metadata publishing for this service is currently disabled. And suggests to configure service behavior configuration. I understand the service is done in .Net. But How do I use the provided service behavior related details to access the service in Java?
Upvotes: 3
Views: 16605
Reputation: 12538
You can create a client service provider which extends javax.xml.ws.Service
, and then override service constructor accepting URL of the remote service you currently have at hand.
public class Foo extends Service
{
...
public Foo(URL wsdlLocation)
{
super(wsdlLocation, SERVICE);
}
}
And then when building your Provider Binding, you explicitly pass the URL to the service interface.
Foo service = new Foo(url);
BindingProvider binding = (BindingProvider)service;
Upvotes: 0
Reputation: 4273
You can use HttpClient directly but you must hand-code each xml message you send and parse each message you receive. You can also manually create your objects that match your xml and use jaxb to marshall/unmarshall messages.
Upvotes: 3