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