mashup always received empty xml input from a SOAP client

  • tripod123
  • 06/02/09
  • Offline
Posted: Mon, 01/25/2010 - 19:29

Hi,

My simple mashup is having a problem with receiving soap request from a simple SOAP client (SOAP UI). The mashup was reached and responded xml back to the SOAP UI test client. However, it always received empty  xml input. How should I configure the mashup to receive non-empty xml input?

I followed the instructions in "Enabling SOAP client to invoke Mashups" of the online doc, but I'm not getting a good input request yet.

The simple mashup is below

<mashup xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.jackbe.com/2008-03-01/EMMLSchema/ ../src/schemas/EMMLSpec.xsd"
      xmlns="http://www.jackbe.com/2008-03-01/EMMLSchema"
      xmlns:macro="http://www.jackbe.com/2008-03-01/EMMLMacro"
      name = "TestMashupWsdl">
 
 <operation name="invoke">
     <input name="soapRequest" type="document" />
     <display message="soapRequest = " variable="soapRequest" />
    <output name="soapResponse" type="document">
      <result xmlns="testnamespace" />
    </output>
 </operation>  
 </mashup>
 

Here is the SOAP request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mas="http://www.jackbe.com/presto/mashupuri">
   <soapenv:Header>
      <mas:PrestoCredentials>
         <mas:username>admin</mas:username>
         <mas:password>adminadmin</mas:password>
      </mas:PrestoCredentials>
   </soapenv:Header>
   <soapenv:Body>
      <mas:invoke>
         <!--Optional:-->
         <mas:soapRequest>
           <soapRequest xmlns="" >
              <testElement xmlns="" />
           </soapRequest>
         </mas:soapRequest>
      </mas:invoke>
   </soapenv:Body>
</soapenv:Envelope>

and the debug log always showed,

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

Thanks for any help

Bao

 

 

 

 

 

 

cfff4
0
Your rating: None

Hi, You have to construct

  • smithac
  • 10/28/09
  • Offline
  • Tue, 01/26/2010 - 04:05

Hi,

You have to construct the content of variable in <input> tag to receive an non-empty xml input.

Below is an example:

     <input name="payslip" type="document" >

         <pay>

              <salary month="2010-01" ctc="30000"/>

         </pay>

    </input>

Please refer to "Declaring Mashup Variables and Parameters" for more information.

Hope this helps you.

Thanks,

Smitha


Hi Smitha, Thanks for the

  • tripod123
  • 06/02/09
  • Offline
  • Wed, 01/27/2010 - 12:38

Hi Smitha,

Thanks for the response. I initialized the input variable as you suggested, but once the mashup was invoked by a SOAP UI client, the input variable showed initialized value instead of the value sent from the SOAP client.

Any other suggestions?

Thanks


Hi,    This seam to be a

  • ivan_mejia
  • 09/22/08
  • Offline
  • Wed, 01/27/2010 - 14:44

Hi,

   This seam to be a known issue handling XML documents as values for input parameters, can you test your mashup declaring as input a variable of type string?

If it works for you and as a workaround can you send your document as string instead as an XML document? 

Ivan.


Hi Ivan, Thanks for the

  • tripod123
  • 06/02/09
  • Offline
  • Wed, 01/27/2010 - 19:52

Hi Ivan,

Thanks for the suggestion, but the mashup didn't receive an input value after I changed the input type from document to string.  Basically, the mashup was invoked by a SOAP UI client but none of the inputs could get through.

Any ideas?

Thanks,

 

 


Hi, I am able to invoke

  • smithac
  • 10/28/09
  • Offline
  • Wed, 02/03/2010 - 01:51

Hi,

I am able to invoke mashup service from SOAP client and it printed back output.
Response from SOAP Client:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<mas:invokeResponse xmlns:mas="http://www.jackbe.com/presto/mashupuri">
<test xmlns="testing">
<testItem>1</testItem>
<testItem>2</testItem>
</test>
</mas:invokeResponse>
</soapenv:Body>
</soapenv:Envelope>
I am attaching the example, which I have tried.
If this doesn't solve your problem, please attach the script so that I can debug it.

Thanks,
Smitha