Can I change the soap response from the IWS Web Service process.
Currently the response is like this example
<soap:Envelope xmlns:soap="
http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<ns2:msd100rResponse xmlns:ns2="
http://webservice01.wsbeans.iseries/
">
<return>
<POUTDATA>
<length>518</length>
<string>{"messages":["success",1,""]} --- Omitted data
---</string>
</POUTDATA>
</return>
</ns2:msd100rResponse>
</soap:Body>
</soap:Envelope>
The POUTDATA is the output parameter defined in my program. I believe IBM
is generating the <return> tags ?
The consumer of this web service is using PHP and says they get an error
because of the <return> ... </return>
They say that "return" is a reserved PHP word. (I don't really understand
that as I would not expect it to be causing the issue)
But in deploying the web service through IWS I can see no way to change
this ?
This was the response from the eternal PHP programmer trying to consume
the web service
I am having issues with the response from the webservice as return is a
keyword in PHP. (
https://www.php.net/manual/en/reserved.keywords.php)
User error: "return" is an invalid render array key in
Drupal\Core\Render\Element::children() (line 97 of
/web/xnet/public_html/web/core/lib/Drupal/Core/Render/Element.php)
Is it possible to change this element?
Here is the PHP function the external client is using; (I believe the
issue is when they are calling get_object_vars but I am waiting on
confirmation of that)
function ids_userform_checkerp($userid){
$wsdl = '
http://10.100.0.218:10010/web/services/WebService01Service/WebService01?wsdl'
;
$header = new \SoapHeader('
http://webservice01.wsbeans.iseries/',
'Header', array());
$soap = new \SoapClient($wsdl);
//$soap->__setSoapHeaders($header);
$length = 52 + strlen($userid);
// build request and send
$params[] = array('arg0'=> array(
'PFUNCTION' => '*USRDATA',
'PINDATA' => '<length>'. $length .'</length>
<string>{"token":"1111111111111111","request_user":"' . $userid .
'"}</string>'
));
$response = $soap->__soapCall('msd100r',$params);
$responseCode = get_object_vars($response);
\Drupal::messenger()->addMessage($responseCode);
return;
}
There are no problems with calling the soap service. The issue is with the
response, which is received though unable to access the data.
Any suggestions appreciated.
Thanks
Don
--
This email has been scanned for computer viruses. Although MSD has taken reasonable precautions to ensure no viruses are present in this email, MSD cannot accept responsibility for any loss or damage arising from the use of this email or attachments..
As an Amazon Associate we earn from qualifying purchases.