You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Denero Watz <de...@yahoo.com> on 2004/03/26 09:11:50 UTC
SOAPAction header value for UDDI requests
What should be the value of the SOAPAction header
attribute when sending a UDDI request.
I found that the registry
http://www-3.ibm.com/services/uddi/inquiryapi will not
work when i set an empty string for this header. The
value need to be explict "" inorder for this to work.
Other registries that i am connecting to are fine with
the empty string. Why this difference? What is the
standard?
e.g. in my Http client api,
(1) setHeader("SOAPAction", ""); will not work only
for the ibm registry
(2) setHeader("SOAPAction", "\"\""); works
If he above explanation is not clear let me show you
the tcp monitor trace:
(1) If the headers are going like this, it will not
work
POST /services/uddi/inquiryapi HTTP/1.1
content-type: text/xml; charset=utf-8
soapaction:
User-Agent: Jakarta Commons-HttpClient/2.0rc1
Host: www-3.ibm.com
Content-Length: 268
(2) But the below one works
POST /services/uddi/inquiryapi HTTP/1.1
content-type: text/xml; charset=utf-8
soapaction: ""
User-Agent: Jakarta Commons-HttpClient/2.0rc1
Host: www-3.ibm.com
Content-Length: 268
Thanks in Advance,
dw
__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html
Re: SOAPAction header value for UDDI requests
Posted by Anne Thomas Manes <an...@manes.net>.
Keep in mind that a UDDI registry is a Web service -- you communicate with
it using SOAP, and the interface is defined using WSDL.
Per the SOAP specification, the following values are valid for the
SOAPAction http header:
SOAPAction:
SOAPAction: ""
SOAPAction: "find_service"
BUT -- the specific value that a Web service expects to find in the
SOAPAction header is specified in the service's WSDL document -- in the
<soap:operation> definition for each operation in the service, e.g.,
<soap:operation soapAction="find_binding" style="document"/>
According to the UDDI V2 specification, the SOAPAction header should
contain a value that indicates the requested method. So it should contain
something like:
SOAPAction: "find_service"
SOAPAction: "get_bindingDetail"
I tried to find the WSDL document for the IBM UBR service instance, but
couldn't find it. Therefore I suggest that you follow the UDDI V2 standard.
The standard WSDL for the UDDI V2 Inquiry API is located here:
http://www.uddi.org/wsdl/inquire_v2.wsdl
Anne
At 02:40 PM 3/30/2004, you wrote:
>Actually my question was whether an empty SOAPAction
>http header need to be explicitly specified as ""?
>
>I am ignorant of this "WSDL <binding> definition
> for IBM's registry". Is there a standard way to
>retrieve this wsdl. I thought the registry itself is
>used to detect various WSDL information etc. and there
>will not be a separate wsdl file for the UDDI rgisitry
>web service itself.
>Appreciate your explanations on this,
>dw
>
>--- Anne Thomas Manes <an...@manes.net> wrote:
> > You need to look at the WSDL <binding> definition
> > for IBM's registry to
> > determine what SOAPAction it's expecting.
> >
> > According to the standard WSDL descriptions that are
> > part of the UDDI V2
> > standard, the SOAPAction is supposed to include a
> > string that indicates the
> > operation, e.g. "find_service". But individual
> > implementations may override
> > the SOAPAction parameter requirements.
> >
> > Anne
> >
> > At 12:47 PM 3/26/2004, you wrote:
> > >What should be the value of the SOAPAction header
> > >attribute when sending a UDDI request.
> > >
> > >I found that the registry
> > >http://www-3.ibm.com/services/uddi/inquiryapi will
> > not
> > >work when i set an empty string for this header.
> > The
> > >value need to be explict "" inorder for this to
> > work.
> > >Other registries that i am connecting to are fine
> > with
> > >the empty string. Why this difference? What is the
> > >standard?
> > >
> > >e.g. in my Http client api,
> > >(1) setHeader("SOAPAction", ""); will not work only
> > >for the ibm registry
> > >(2) setHeader("SOAPAction", "\"\""); works
> > >
> > >If he above explanation is not clear let me show
> > you
> > >the tcp monitor trace:
> > >(1) If the headers are going like this, it will not
> > >work
> > >POST /services/uddi/inquiryapi HTTP/1.1
> > >content-type: text/xml; charset=utf-8
> > >soapaction:
> > >User-Agent: Jakarta Commons-HttpClient/2.0rc1
> > >Host: www-3.ibm.com
> > >Content-Length: 268
> > >
> > >(2) But the below one works
> > >POST /services/uddi/inquiryapi HTTP/1.1
> > >content-type: text/xml; charset=utf-8
> > >soapaction: ""
> > >User-Agent: Jakarta Commons-HttpClient/2.0rc1
> > >Host: www-3.ibm.com
> > >Content-Length: 268
> > >
> > >Thanks in Advance,
> > >dw
> > >
> > >
> > >__________________________________
> > >Do you Yahoo!?
> > >Yahoo! Finance Tax Center - File online. File on
> > time.
> > >http://taxes.yahoo.com/filing.html
> >
> > ~~~~~~~~~~~~~~~~~~
> > Anne Thomas Manes
> > VP & Research Director
> > Burton Group
> >
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Finance Tax Center - File online. File on time.
>http://taxes.yahoo.com/filing.html
~~~~~~~~~~~~~~~~~~
Anne Thomas Manes
VP & Research Director
Burton Group
Re: SOAPAction header value for UDDI requests
Posted by Denero Watz <de...@yahoo.com>.
Actually my question was whether an empty SOAPAction
http header need to be explicitly specified as ""?
I am ignorant of this "WSDL <binding> definition
for IBM's registry". Is there a standard way to
retrieve this wsdl. I thought the registry itself is
used to detect various WSDL information etc. and there
will not be a separate wsdl file for the UDDI rgisitry
web service itself.
Appreciate your explanations on this,
dw
--- Anne Thomas Manes <an...@manes.net> wrote:
> You need to look at the WSDL <binding> definition
> for IBM's registry to
> determine what SOAPAction it's expecting.
>
> According to the standard WSDL descriptions that are
> part of the UDDI V2
> standard, the SOAPAction is supposed to include a
> string that indicates the
> operation, e.g. "find_service". But individual
> implementations may override
> the SOAPAction parameter requirements.
>
> Anne
>
> At 12:47 PM 3/26/2004, you wrote:
> >What should be the value of the SOAPAction header
> >attribute when sending a UDDI request.
> >
> >I found that the registry
> >http://www-3.ibm.com/services/uddi/inquiryapi will
> not
> >work when i set an empty string for this header.
> The
> >value need to be explict "" inorder for this to
> work.
> >Other registries that i am connecting to are fine
> with
> >the empty string. Why this difference? What is the
> >standard?
> >
> >e.g. in my Http client api,
> >(1) setHeader("SOAPAction", ""); will not work only
> >for the ibm registry
> >(2) setHeader("SOAPAction", "\"\""); works
> >
> >If he above explanation is not clear let me show
> you
> >the tcp monitor trace:
> >(1) If the headers are going like this, it will not
> >work
> >POST /services/uddi/inquiryapi HTTP/1.1
> >content-type: text/xml; charset=utf-8
> >soapaction:
> >User-Agent: Jakarta Commons-HttpClient/2.0rc1
> >Host: www-3.ibm.com
> >Content-Length: 268
> >
> >(2) But the below one works
> >POST /services/uddi/inquiryapi HTTP/1.1
> >content-type: text/xml; charset=utf-8
> >soapaction: ""
> >User-Agent: Jakarta Commons-HttpClient/2.0rc1
> >Host: www-3.ibm.com
> >Content-Length: 268
> >
> >Thanks in Advance,
> >dw
> >
> >
> >__________________________________
> >Do you Yahoo!?
> >Yahoo! Finance Tax Center - File online. File on
> time.
> >http://taxes.yahoo.com/filing.html
>
> ~~~~~~~~~~~~~~~~~~
> Anne Thomas Manes
> VP & Research Director
> Burton Group
>
__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html
Re: SOAPAction header value for UDDI requests
Posted by Anne Thomas Manes <an...@manes.net>.
You need to look at the WSDL <binding> definition for IBM's registry to
determine what SOAPAction it's expecting.
According to the standard WSDL descriptions that are part of the UDDI V2
standard, the SOAPAction is supposed to include a string that indicates the
operation, e.g. "find_service". But individual implementations may override
the SOAPAction parameter requirements.
Anne
At 12:47 PM 3/26/2004, you wrote:
>What should be the value of the SOAPAction header
>attribute when sending a UDDI request.
>
>I found that the registry
>http://www-3.ibm.com/services/uddi/inquiryapi will not
>work when i set an empty string for this header. The
>value need to be explict "" inorder for this to work.
>Other registries that i am connecting to are fine with
>the empty string. Why this difference? What is the
>standard?
>
>e.g. in my Http client api,
>(1) setHeader("SOAPAction", ""); will not work only
>for the ibm registry
>(2) setHeader("SOAPAction", "\"\""); works
>
>If he above explanation is not clear let me show you
>the tcp monitor trace:
>(1) If the headers are going like this, it will not
>work
>POST /services/uddi/inquiryapi HTTP/1.1
>content-type: text/xml; charset=utf-8
>soapaction:
>User-Agent: Jakarta Commons-HttpClient/2.0rc1
>Host: www-3.ibm.com
>Content-Length: 268
>
>(2) But the below one works
>POST /services/uddi/inquiryapi HTTP/1.1
>content-type: text/xml; charset=utf-8
>soapaction: ""
>User-Agent: Jakarta Commons-HttpClient/2.0rc1
>Host: www-3.ibm.com
>Content-Length: 268
>
>Thanks in Advance,
>dw
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Finance Tax Center - File online. File on time.
>http://taxes.yahoo.com/filing.html
~~~~~~~~~~~~~~~~~~
Anne Thomas Manes
VP & Research Director
Burton Group