PHP SOAP调用WSDL参数设置问题,https://api.rms.rakuten.co.jp/es/1.0/order/ws?WSDL   其中 getOrder() 这个方法的参数该怎么设置呢?

解决方案 »

  1.   

    getOrderResponse getOrder(getOrder $parameters)struct getOrder {
     userAuthModel arg0;
     getOrderRequestModel arg1;
    }struct userAuthModel {
     string authKey;
     string shopUrl;
     string userName;
    }
    struct getOrderRequestModel {
     boolean isOrderNumberOnlyFlg;
     string orderNumber;
     orderSearchModel orderSearchModel;
    }
    struct orderSearchModel {
     boolean asuraku;
     cardSearchModel cardSearchModel;
     string comment;
     boolean coupon;
     int dateType;
     string delivery;
     boolean drug;
     int enclosureStatus;
     dateTime endDate;
     string itemName;
     string itemNumber;
     int mailAddressType;
     boolean modify;
     int orderSite;
     int orderType;
     string ordererKana;
     string ordererMailAddress;
     string ordererName;
     string ordererPhoneNumber;
     boolean overseas;
     int pointStatus;
     boolean pointUsed;
     int rbankStatus;
     string reserveNumber;
     string senderName;
     string senderPhoneNumber;
     string settlement;
     dateTime startDate;
     string status;
    }
    struct cardSearchModel {
     string cardName;
     string cardOwner;
     int cardStatus;
     int payType;
    }够复杂的,眼都看花了
    你自己组装吧
      

  2.   

     $params1 =array(
                'arg0'=>array(
                    'authKey' => '1ec8cxxxxxxxxxxxxxxxxxxxxxxxxd4f',
                    'shopUrl' => 'nixxxxxp',
                    'userName' => 'nxxxxxxxxxxxxxp',
                ),
                'arg1'=>array(
                    'isOrderNumberOnlyFlg' => true,
                    'orderNumber'=>'',
                    'orderSearchModel'=>array(
                        'asuraku'=>'',
                        'dateType' => 1,
                        'startDate' => '2016-01-01',
                        'endDate' => '2016-07-01',
                        'comment'=>'',
                        'coupon'=>true,
                        'delivery'=>'',
                        'drug'=>true,
                        'enclosureStatus'=>1,
                        'itemName'=>'',
                        'itemNumber'=>'',
                        'mailAddressType'=>1,
                        'modify'=>true,
                        'orderSite'=>1,
                        'orderType'=>1,
                        'ordererKana'=>'',
                        'ordererMailAddress'=>'',
                        'ordererName'=>'',
                        'ordererPhoneNumber'=>'',
                        'overseas'=>true,
                        'pointStatus'=>1,
                        'pointUsed'=>true,
                        'rbankStatus'=>1,
                        'reserveNumber'=>'',
                        'senderName'=>'',
                        'senderPhoneNumber'=>'',
                        'settlement'=>'',
                        'status'=>'',
                        'cardSearchModel'=>array()                )
                )
            );
    我把必填项都填写了啊!可是 返回结果 还是认证失败:
    object(stdClass)#93 (1) { ["return"]=> object(stdClass)#92 (2) { ["errorCode"]=> string(7) "E02-001" ["message"]=> string(39) "ユーザー認証に失敗しました" } }
      

  3.   

    你写的不对吧?
    比如
     cardSearchModel cardSearchModel;
    而 cardSearchModel 是这样定义的
    struct cardSearchModel {
     string cardName;
     string cardOwner;
     int cardStatus;
     int payType;
    }
    于是要写作
    ‘cardSearchModel’ => array(
       'cardName' => '',
       'cardOwner' => '',
       'cardStatus' => '',
       'payType' => '',
    },
    而你把层次都写没了
      

  4.   

    具体是xml吗 他官方的api没说什么格式
      

  5.   


    加上cardSearchModel 的数据格式了
      

  6.   

    http://www.cnblogs.com/smallmuda/archive/2010/10/12/1848700.html     我上次是看这个学的不知道对你有没有用
      

  7.   

    参考:http://download.csdn.net/detail/fdipzone/7081881