600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > php的soapclient 如何使用SoapClient类进行PHP SOAP调用

php的soapclient 如何使用SoapClient类进行PHP SOAP调用

时间:2020-12-08 03:37:48

相关推荐

php的soapclient 如何使用SoapClient类进行PHP SOAP调用

我不知道为什么我的Web服务与你的结构相同,但它不需要Class for parameter,只是数组。

例如: - 我的WSDL:

xmlns:ns="/schemas/psws/1.0">

5390a7006cee11e0ae3e0800200c9a66

831f8c1ad25e1dc89cf2d8f23d2af...fa85155f5c67627

VITS-STAELENS

Zoethout thee

0.100

10K24

-12-31

Gladys

Roldan de Moras

Calle General Oraá 26

(4º izda)

28006

Madrid

ES

gverbruggen@

es

我var_dump:

var_dump($client->getFunctions());

var_dump($client->getTypes());

结果如下:

array

0 => string 'OrderConfirmation createOrder(OrderRequest $createOrder)' (length=56)

array

0 => string 'struct OrderRequest {

Identification identification;

Delivery delivery;

Parcel parcel;

Receiver receiver;

string reference;

}' (length=130)

1 => string 'struct Identification {

string sender;

string hash;

string originator;

}' (length=75)

2 => string 'struct Delivery {

Node from;

Node to;

}' (length=41)

3 => string 'struct Node {

string country;

string node;

}' (length=46)

4 => string 'struct Parcel {

string description;

decimal weight;

string orderNumber;

date orderDate;

}' (length=93)

5 => string 'struct Receiver {

string firstName;

string surname;

Address address;

string email;

string language;

}' (length=106)

6 => string 'struct Address {

string line1;

string line2;

string postalCode;

string city;

string country;

}' (length=99)

7 => string 'struct OrderConfirmation {

string trackingNumber;

string reference;

}' (length=71)

8 => string 'struct OrderServiceException {

string code;

OrderServiceException faultInfo;

string message;

}' (length=97)

所以在我的代码中:

$client = new SoapClient('http://packandship-/psws/order?wsdl');

$params = array(

'reference' => $orderId,

'identification' => array(

'sender' => param('kiala', 'sender_id'),

'hash' => hash('sha512', $orderId . param('kiala', 'sender_id') . param('kiala', 'password')),

'originator' => null,

),

'delivery' => array(

'from' => array(

'country' => 'es',

'node' => '',

),

'to' => array(

'country' => 'es',

'node' => '0299'

),

),

'parcel' => array(

'description' => 'Description',

'weight' => 0.200,

'orderNumber' => $orderId,

'orderDate' => date('Y-m-d')

),

'receiver' => array(

'firstName' => 'Customer First Name',

'surname' => 'Customer Sur Name',

'address' => array(

'line1' => 'Line 1 Adress',

'line2' => 'Line 2 Adress',

'postalCode' => 28006,

'city' => 'Madrid',

'country' => 'es',

),

'email' => 'test.ceres@',

'language' => 'es'

)

);

$result = $client->createOrder($params);

var_dump($result);

但它成功了!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。