Wsdl (rpc)

Hi,

I am using webMethods6.5 . I created a flow service which concatinates 2 strings and its working fine. I then generated a WSDL (RPC) for that service and i am not getting the output. Can anyone help me in this regard.

Thanks in advance

Prabhu Kanthi

Can you be more specific? I did this exact thing yesterday to expose the pub.math:addInts service as an RPC / encoded web service operation using IS 6.5 SP2.

Hi Mark,

Did you get the output. Can you please explain me the process.

What i have done is. After generating the WSDL(RPC) for the flow service. I generated the webservice connector for the above WSDL file. Now when i am running the webservice connector, i am not getting the output, only inputs are again displayed in the results panel.

Here I’m pasting the .wsdl script that I used to generate the web service connector

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions name=“IBM_Kirti” targetNamespace=“http://www.webmethods.com/
xmlns:wsdl=“http://schemas.xmlsoap.org/wsdl/
xmlns:xsd=“http://www.w3.org/2001/XMLSchema
xmlns:http=“http://schemas.xmlsoap.org/wsdl/http/
xmlns:tns=“http://www.webmethods.com/
xmlns:mime=“http://schemas.xmlsoap.org/wsdl/mime/
xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/”>
wsdl:types
<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema” targetNamespace=“http://localhost/IBM/Kirti/add” xmlns:tns=“http://localhost/IBM/Kirti/add”>
<xsd:complexType name="__addInput">
xsd:sequence
<xsd:element name=“a” nillable=“true” type=“xsd:string”/>
<xsd:element name=“b” nillable=“true” type=“xsd:string”/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="__addOutput">
xsd:sequence
<xsd:element name=“result” nillable=“true” type=“xsd:string”/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

</wsdl:types>

<wsdl:message name="_addInput">
<wsdl:part name=“a” type=“xsd:string”/>
<wsdl:part name=“b” type=“xsd:string”/>
</wsdl:message>

<wsdl:message name="_addOutput">
<wsdl:part name=“result” type=“xsd:string”/>
</wsdl:message>
<wsdl:portType name=“IBM_KirtiPortType”>
<wsdl:operation name=“add”>
<wsdl:input message=“tns:_addInput”/>
<wsdl:output message=“tns:_addOutput”/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name=“IBM_KirtiBinding” type=“tns:IBM_KirtiPortType”>
<soap:binding style=“rpc” transport="

Hi Mark,

Did you get the output. Can you please explain me the process.

What i have done is. After generating the WSDL(RPC) for the flow service. I generated the webservice connector for the above WSDL file. Now when i am running the webservice connector, i am not getting the output, only inputs are again displayed in the results panel.

Here I’m pasting the .wsdl script that I used to generate the web service connector :


Yes, I used the SOAPSonar web services testing tool to consume the addInts service using the WSDL created from the “Tools - Generate WSDL” menu option.

The WSDL you pasted does not appear to be complete, not sure if that is really the case or whether you just didn’t paste the whole thing.

The Web Services Connector should generate a Flow which will consume your service.

Mark

Hi Mark,

Attached is the WSDL file which i am using to create the webservice connector. Please let me know if there are any issues.

Thanks in advance
Prabhu Kanthi
add.wsdl (2.36 KB)

Hi Mark,

I was actually unable to paste the whole content . However I have sent an attchment of the WSDL file that i have generated. Please have a look and let me know if there are any defects.

Thanks & Regards
Prabhu Kanthi

Hi,

Its urgent. Can anyone give me some inputs in this regard.

Thanks & Regards
Prabhu Kanthi

Assuming that your Flow is named IBM.Kirti:add, the WSDL should be fine.

Are there any errors in the IS error log at the time when you attempt to invoke your service using the generated Flow?

-M

Hi Prabhu Kanthi,

am not sure, what you missed.
1) check flow service input is soapRequestData, soapResponseData and output is soapResponseData
2) while creating wsdl, what are the input you are specifying for
Protocol,
transport
Directive
Input / Output
target namespace

Thanks & Regards,
ArulchristhuRaj. A

Hi ArulchristhuRaj,

I have created a simple flow service which adds 2 numbers (invoked pub.math:addInts) using sequence(try/catch). I was using 2 inputs(strings) and 1 output(string). So where do i check if the input is soapRequestData, soapResponseData and output is soapResponseData in my flow servcie.

After creating the flow servcie. I generated the WSDL (RPC) for the flow service and then generated the webservice connector for the above WSDL file. Now when i am running the webservice connector i am not geting the output.

While creating wsdl, these are the inputs which i have specified

Protocol = SOAP-RPC
transport = HTTPS
Directive = rpc
Input / Output (i have not specified anything. Its disabled)
target namespace = http://www.webmethods.com/


Thanks & Regards
Prabhu Kanthi

Hi Mark,

I have used getlasterror service in my flow service and invoked the webservice connector which i have generated and i didn’t get any errors.

Actually 1 week back when i ran the same webservice connector it was working fine. But surprisingly now when i run the same, i am not getting the output and there are no errors. What could be the problem??

Thanks & regards
Prabhu Kanthi

Hi Prabhu Kanthi,

we also did POC for concatinating two string using SOAP. I have attached the package. please import in the <IS_DIR>/replicate/inbound. and install from IS using inbound releases.

we used here Protocol as SOAP_MSG.

1) POC_SOAP.services:concatString - this flow service used to concat 2 strings.
2) Created wsdl file using above services.
3) POC_SOAP.connectorsSoap - this folder having webservice connector, which i have created using wsdl file.
4) Run the webservice connector service.
5) it will work fine.


Thanks & Regards,
ArulchristhuRaj. A

POC_SOAP.zip (20.9 KB)

Thanks a lot ArulchristhuRaj !

I’m always amused (and irritated) by “urgent” posts that provide inadequate details for anyone to actually assist.

How have you attempted to isolate this problem? Did you make any effort to capture the soap messages exchanged between the service consumer and service provider?

If this “worked” a week ago and no longer “works”, then something changed. Find out what changes have taken place in your environment and you’ll be closer to resolving this issue.

-M