Yii Framework Forum: Return Envelope With Nusoap Or Remove Class Prefix For Call Webservice - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Return Envelope With Nusoap Or Remove Class Prefix For Call Webservice Rate Topic: -----

#1 User is offline   Fabian Maes 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 5
  • Joined: 05-March 14

Posted 29 March 2014 - 04:03 AM

Hi,

I'm using extension GSoapServerAction for making a server function.
The issue is for calling this webservice.
I don't want call with prefix class but with this: $client->call('ProcessRequest', array($sXml,''));

I try to modify class GWsdlGenerator in removing $className.".". but it still doesn't work.
$server->register($className.".".$name, $request, $response, false, false, 'rpc', 'encoded', $cmt, '');


Here is his my class
class WebServController extends Controller
{
	/**
	 * Declares class-based actions.
	 */
	public function actions()
	{
		return array(
                        'service'=>array(
                            'class'    => 'ext.GWebService.GSoapServerAction',
                            //'class' => 'CWebServiceAction',
                          ),
		);
	}
        
        /**
        * @param string $sXml
        * @param string $sFilters
        * @return string Hello you !
        * @soap
        */
       public function ProcessRequest($sXml,$sFilters="") {


Hope someone could help me because i need absolutely to remove the call with class prefix.

An other way to use th ewebservice without the class is using the other class in comment: ext.GWebService.GSoapServerAction

The issue with this solution is the return response.
i have to return a response like this
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateLeadResponse xmlns="http://icrm.pat.it/fiat/ws">
  <UpdateLeadResult>
    <ID>string</ID>
    <ResultCode>OK</ResultCode>
    <ResultDescription>string</ResultDescription>
  </UpdateLeadResult>
</UpdateLeadResponse>
</soap:Body>
</soap:Envelope>


but nusoap put a tag return between the response

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:WebServControllerwsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
 <SOAP-ENV:Body>
  <ns1:ProcessRequestResponse>
     <return xsi:type="SOAP-ENC:Struct">
        <UpdateLeadResult xsi:type="SOAP-ENC:Struct">
           <LeadID xsi:type="xsd:string"></LeadID>
           <ResultCode xsi:type="xsd:string">OK</ResultCode>
           <ResultDescription xsi:type="xsd:string"/>
        </UpdateLeadResult>
     </return>
  </ns1:ProcessRequestResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Are there a way to modify this?

Thanks for your help
[/quote]
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users