Author |
Message
|
DD |
Posted: Wed Nov 17, 2010 1:37 am Post subject: WSDL with HTTP Binding and Service |
|
|
Newbie
Joined: 26 Nov 2009 Posts: 3
|
I have a problem with generating a message definition from a wsdl that has defined a HTTP service and HTTP binding.
- I used the WBI eclipse toolkit to generate a new WSDL (new -> other -> wsdl)
- I selected create WSDL skeleton
- selected a protocol (HTTP)
- selected a HTTP binding option (HTTP GET)
This will give a warning "WS-I compliance warning: protocol should be SOAP"
- Finish.
Now a WSDL is generated. If I try to generate a messge definition from the generated WSDL (new -> message definition file from -> wsdl file) and select the generated WSDL I get an error
"The binding "testhttpHTTP" cannot be selected as the format of the binding is not supported. "
When I select the protocol SOAP whilst creating a wsdl I have no problems and can generate a message definition without a problem.
What am I doing wrong, my client asked explicit for an http url wsdl solution. |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Nov 17, 2010 3:38 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Hmmm. WSDL's are used to describe WEB Services.
These tend to use a SOAP Envelope but Use HTTP/HTTPS as the transport.
Quote: |
What am I doing wrong, my client asked explicit for an http url wsdl solution.
|
In simple terms, A SOAP Message is just an HTTP message with a SOAP Envelope. Use use a URL: and HTTP, add a SOAP Wrapper and you are better off just going thr whole way and using a SOAP Node to process it, just as you found out.
I can't help but think that someone has their lines crossed somewhere. Perhaps one or two slight misunderstandings of the jargon? _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Nov 17, 2010 5:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
smdavies99 wrote: |
I can't help but think that someone has their lines crossed somewhere. Perhaps one or two slight misunderstandings of the jargon? |
Did this "requirement" come from a technical person, or a non-technical person who's read it somewhere?
As a minimum, get the to explain exactly what they mean by "an http url wsdl solution". _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Nov 17, 2010 5:38 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Perhaps they're thinking of a REST solution rather than a SOAP solution. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Nov 17, 2010 5:48 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Perhaps they're thinking of a REST solution rather than a SOAP solution. |
Could be. With luck the more exact explaination will reveal this.
Though I still have a sneaking suspicion it's a project manager assembling buzz words....  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
DD |
Posted: Wed Nov 17, 2010 11:28 pm Post subject: |
|
|
Newbie
Joined: 26 Nov 2009 Posts: 3
|
thanx for the replys so far. maybe I'm a little confusing with words. WSDL is pretty new for me.
I try to explain in code what I need.
First we tried a soap solution this worked.
Code: |
<wsdl:binding name="..." type="p1:...">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="Create">
<soap:operation soapAction="http://sap.com/xi/WebService/soap1.1"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="StandardMessageFault"/>
</wsdl:operation>
<wsdl:operation name="Update">
<soap:operation soapAction="http://sap.com/xi/WebService/soap1.1"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="StandardMessageFault"/>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="...">
<wsdl:port name="..." binding="p1:...">
<soap:address location="http://...:7081/..."/>
</wsdl:port>
</wsdl:service> |
Now I got the question to use a http address, So I tried to create a wsdl with altova xmlspy and this is what I got. Altova thinks it valid but the WMB will not generate a message definition from it.
Code: |
<wsdl:binding name="..." type="p1:...">
<http:binding verb="GET" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
<wsdl:operation name="Create">
<http:operation location="http://sap.com/xi/WebService/soap1.1"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content/>
</wsdl:output>
<wsdl:fault name="StandardMessageFault"/>
</wsdl:operation>
<wsdl:operation name="Update">
<http:operation location="http://sap.com/xi/WebService/soap1.1"/>
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
<wsdl:output>
<mime:content/>
</wsdl:output>
<wsdl:fault name="StandardMessageFault"/>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="...">
<wsdl:port name="..." binding="p1:...">
<http:address location="http://...:7081/..."/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions> |
hope that this will clear up some things |
|
Back to top |
|
 |
Vitor |
Posted: Thu Nov 18, 2010 5:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
DD wrote: |
hope that this will clear up some things |
What isn't clear (to me at least) is what you're trying to achieve with the http solution that you can't with the soap solution, or what undesirable feature the soap solution has that the http solution removes.
AFAIK (and it's not very far so step in any time) SOAP is the only supported binding (hence the warning message) and the only one you should be using. Wiser minds than mine will be able to advise if there's a configuration setting that changes this behaviour, or the feasability of creating the message set long hand.
If it turns out you can use http, I'd still question if you should. I don't see the reasoning or the requirement, which is why I asked for one or both in my earlier post. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|