Author |
Message
|
kash3338 |
Posted: Mon Feb 09, 2009 1:42 am Post subject: How to view a deployed WSDL through browser? |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
Hi,
I have a deployable WSDL in my message set and i have a message flow which hosts this WSDL. How do i view the WSDL in browser?
When i try to give the URL in browser, i get an fault message like:
"<?xml version="1.0" encoding="utf-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
- <soapenv:Body>
- <soapenv:Fault>
<faultcode />
<faultstring>Invalid Content-Type HTTP Header. Content-Type was missing, malformed or null.</faultstring>
- <detail>
<Exception>org.apache.axis2.AxisFault: Invalid Content-Type HTTP Header. Content-Type was missing, malformed or null. at com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:1838) at com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:1807) at com.ibm.broker.axis2.Axis2Invoker.processInboundRequest(Axis2Invoker.java:2230) at com.ibm.broker.axis2.Axis2Invoker.invokeAxis2OverHTTP(Axis2Invoker.java:1969) at com.ibm.broker.axis2.TomcatNodeRegistrationUtil.invokeAXIS2(TomcatNodeRegistrationUtil.java:302)</Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>"
My message flow is:
SOAPInput ----> Compute -----> SOAPReply.
MB Version : 6.1
Regards,
Kashyap. |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Feb 09, 2009 4:06 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The SOAP nodes do not currently provide the "?wsdl" URL support.
You can write your own code to do this, but you will need to store the WSDL somewhere, or do something horrid like attempt to read it using the ConfigMgr Proxy API. |
|
Back to top |
|
 |
Maximreality |
Posted: Wed Feb 11, 2009 7:36 am Post subject: |
|
|
 Acolyte
Joined: 04 Jun 2004 Posts: 65 Location: Copenhagen
|
Anybody know if there are plans to implement the ?wsdl support?
I have a scenario where my customer want to discover the webservice using microsoft infopath (to design a form running on a sharepoint server)
There is a wizard in infopath for disovering webservices, but it requires a url to the ?wsdl definition |
|
Back to top |
|
 |
sridhsri |
Posted: Wed Feb 11, 2009 12:53 pm Post subject: |
|
|
Master
Joined: 19 Jun 2008 Posts: 297
|
One way would be to use a registry and repository like WSRR. |
|
Back to top |
|
 |
kash3338 |
Posted: Wed Feb 11, 2009 7:18 pm Post subject: |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
sridhsri wrote: |
One way would be to use a registry and repository like WSRR. |
Can you plese elaborate on this method. It would be of great help.
Thanks. |
|
Back to top |
|
 |
AkankshA |
Posted: Thu Feb 12, 2009 4:24 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
sridhsri wrote: |
One way would be to use a registry and repository like WSRR. |
BUT THAT WILL COST YOU...
everytime i talk about money, my manager stops listening to me..  _________________ Cheers |
|
Back to top |
|
 |
brianb |
Posted: Tue May 17, 2011 2:54 pm Post subject: |
|
|
Voyager
Joined: 12 May 2010 Posts: 85
|
Any idea if this works now with WMB 7.0.0.2 ? |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 17, 2011 6:49 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
brianb wrote: |
Any idea if this works now with WMB 7.0.0.2 ? |
Yes. There is now support for ?wsdl. |
|
Back to top |
|
 |
brianb |
Posted: Tue May 17, 2011 7:51 pm Post subject: |
|
|
Voyager
Joined: 12 May 2010 Posts: 85
|
Great
If I send direct to the node it works as expected
However
I am trying to send the request through tcserver but get the following ?
<?xml version="1.0" encoding="utf-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
- <soapenv:Body>
- <soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>Invalid Content-Type HTTP Header. Content-Type was missing, malformed or null.</faultstring>
- <detail>
<Exception>org.apache.axis2.AxisFault: Invalid Content-Type HTTP Header. Content-Type was missing, malformed or null. at com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:1904) at com.ibm.broker.axis2.SoapUtilities.createSOAPMessage(SoapUtilities.java:1873) at com.ibm.broker.axis2.Axis2Invoker.processInboundRequest(Axis2Invoker.java:3128) at com.ibm.broker.axis2.Axis2Invoker.invokeAxis2(Axis2Invoker.java:2834) at com.ibm.broker.axis2.TomcatNodeRegistrationUtil.invokeAXIS2(TomcatNodeRegistrationUtil.java:474)</Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope> |
|
Back to top |
|
 |
mqjeff |
Posted: Wed May 18, 2011 4:12 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It looks like whatever "tcserver" is, is sending a bad ?wsdl request.
Maybe it's not using a GET but a POST or etc.
Maybe it's just sending a bad HTTP document. |
|
Back to top |
|
 |
brianb |
Posted: Wed May 18, 2011 1:43 pm Post subject: |
|
|
Voyager
Joined: 12 May 2010 Posts: 85
|
Hi
tcsever is a proxy to allow us to send requests to the EG instead of using the WMB input node on 7080
A client can send an HTTP GET to the web service endpoint exposed by the SOAPInput node, suffixed with a query string ?wsdl, and receive a response with the WSDL definition used to configure the flow; see Using WSDL to configure message flows. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed May 18, 2011 5:55 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Yes, okay.
But.
The error message says that Broker received an HTTP document with a bad Content-Type header. Or, perhaps, it means that Broker created an HTTP response document with a bad Content-Type header... but if a Browser works just fine when you point it at Broker directly, and then reports an error when you point it at a proxy instead...
Then either the Browser is not validating the response from Broker as strictly as the proxy server (in the case where Broker is creating a bad response)... Or the proxy server is not creating as rigorous a forwarded HTTP Document as the Browser creates (in the case where Broker is receiving a bad HTTP document).
I think WireShark or similar will allow you to examine the results in both cases and decide where the failure is.. or several other SOAP TEst tools will also act as fowarding proxies, that can then record the HTTP documents being exchanged at a slightly higher level than WireShark.
Or you could at least look at the Broker error logs and see if it's claiming that it received a bad request or not. |
|
Back to top |
|
 |
|