dty63504 2015-02-05 03:41
浏览 42

如何使用php构建WSDL客户端,根据此xml

i am beginner in WSDL, and wonder to know how to build WSDL client using php.

xml:

<s:element name="RegisterNewUser">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="userPlainPassword" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="userPlainKey" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="email" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="userInfo" type="tns:UserInfo"/>
            <s:element minOccurs="1" maxOccurs="1" name="emailNotificationTopUp" type="s:boolean"/>
            <s:element minOccurs="1" maxOccurs="1" name="locationId" type="s:int"/>
            <s:element minOccurs="1" maxOccurs="1" name="referralId" type="s:int"/>
            <s:element minOccurs="1" maxOccurs="1" name="activationRequired" type="s:boolean"/>
            <s:element minOccurs="0" maxOccurs="1" name="SNSname" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="SNSid" type="s:string"/>
        </s:sequence>
    </s:complexType>
</s:element>

<s:complexType name="IntReturnValue">
    <s:sequence>
        <s:element minOccurs="1" maxOccurs="1" name="value" type="s:int"/>
        <s:element minOccurs="0" maxOccurs="1" name="returnCode" type="s:string"/>
        <s:element minOccurs="0" maxOccurs="1" name="returnMessage" type="s:string"/>
    </s:sequence>
</s:complexType>

<s:element name="RegisterNewUserResponse">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="RegisterNewUserResult" type="tns:IntReturnValue"/>
        </s:sequence>
    </s:complexType>
</s:element>

myFunction:

function registerToBilling($username, $password, $email, $displayname, $pin)
{
    $mySetting = MYSetting();
    $url = $mySetting['ws']['url']['userws'];
    $pass_ws = $mySetting['ws']['header']['pass'];
    $username_ws = $mySetting['ws']['header']['username'];  

    $client = new SoapClient($url, array("classmap" => array("userInfo" => "userInfo"),'soap_version'=>SOAP_1_2, "trace" => true, "exception" => 0,'cache_wsdl'=>WSDL_CACHE_NONE));
    $auth = new authentication_header($username_ws ,$pass_ws );
    $header = new SoapHeader('http://myApp.org/', 'AuthHeader', $auth, false);
    $client->__setSoapHeaders(array($header));

    $myObject = new userInfo();  
    $myObject->userId = 0; 
    $myObject->name =  $username;
    $myObject->nickName = $username;
    $myObject->ssno = 0; 
    $myObject->countryId = 1; 
    $myObject->gender = 1; // 0 female, 1 male
    $myObject->birthday = date("1987-08-07");  // yyyy-mm-dd
    $myObject->registerDate = date("1987-08-07"); // yyyy-mm-dd
    $myObject->lastUpdateDate = date("1987-08-07"); // yyyy-mm-dd
    $myObject->email = $email ; 
    $myObject->zipcode = 16431; 
    $myObject->addr =  "addr"; 
    $myObject->addrDetail = "addr detail"; 
    $myObject->phoneNumber = "123456789";
    $myObject->isSubscribe = 1; 
    $myObject->BBPin = "123456789";
    $myObject->mobileNumber = "123456789";

    $userName=$username;  
    $userPassword=$password;  
    $pin=$pin;  
    $emailNotificationTopUp=0;
    $locationId=0;  
    $referralId=0;  
    $activationRequired=0;  

    $paramsInfo = array('userName' => $userName, 'userPlainPassword' => $userPassword, 'userPlainKey' => $pin, 'email' => $email, 'userInfo' => $myObject, 'emailNotificationTopUp' => $emailNotificationTopUp, 'locationId' => $locationId, 'referralId' => $referralId, 'activationRequired' => $activationRequired  );

    $wallet = 0;
    try
    {
        $result2 = $client->__soapCall("RegisterNewUser", array('parameters'=> $paramsInfo), NULL, NULL);

        try
        {
            if($result2->RegisterNewUserResult->returnCode == "100")
            {
                return $result2->RegisterNewUserResult->returnCode;
            }
            else
            {
                return $result2->RegisterNewUserResult->returnCode;
            }
        }
        catch(exception $ex)
        {
            return $ex;
        }
    }
    catch (SoapFault $exception) 
    {

    }   
}

now, i wonder to know how use function in registration form, field only username, email, password, and pin

thanks

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
    • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
    • ¥15 一直显示正在等待HID—ISP
    • ¥15 Python turtle 画图