Ben anlayabileceği bir cevap arıyorum iyi bir hafta geçirdim. Ben web gelişmekte olan dünya için oldukça yeni.
Benim sorunum elemanlarının kendileri gibi ayarlanmış olması özniteliklerin değerleri gerektiren bir sabun mesajı üreten aittir.
İşte oluşturmak çalışıyorum SOAP mesajının bir basitleştirilmiş bir örnektir.
Client = PHP
Server = .NET
SOAP mesajı gerekli:
<PingRequest EchoToken="string">
<EchoData>string</EchoData>
</PingRequest>
WSDL bölüm
<s:element name="PingRequest" type="s0:PingRequest" />
<s:complexType name="PingRequest">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="EchoData" type="s:string" />
</s:sequence>
<s:attribute name="EchoToken" type="s:string" />
</s:complexType>
Ben webcoder geçmek için bir sınıf ve diğer nesneler, ancak, beynim beni başarısız yapmak için nasıl anlamaya çalışırken çok geçirdim. Özür dilemek sorum biraz karanlık ise. İşte benim webservice çağırarak benim girişimi:
<?php
//connection to wsdl
$client = new SoapClient('http://localhost/ws.asmx?wsdl',
array( "trace" => 1,
"exceptions" => 0
));
try {
// Ping = Function
// PingRequest = method?
$result = $client->PingRequest(array('EchoData' => 'moo'));
} catch (SOAPFAULT $f){
}
echo "\n The Result: \n";
print_r($result);
print "<pre>";
print "Request :\n".htmlspecialchars($client->__getLastRequest()) ."\n";
print "Response:\n".htmlspecialchars($client->__getLastResponse())."\n";
print "</pre>";
;
?>
İstek:
<ns1:PingRequest>
<ns1:EchoData>moo</ns1:EchoData>
</ns1:PingRequest>
Herhangi bir yardım bir başparmak yukarıya.
EDIT: thanks to lisa: i was able to create a class for this: but i still dont understand
class PingRequest {
public $EchoData; // string
public $EchoToken; // string
public $TimeStamp; // dateTime
public $Target; // PingTarget
public $Version; // decimal
public $TransactionIdentifier; // string
public $SequenceNmbr; // nonNegativeInteger
public $TransactionStatusCode; // PingRequestStatusCode
public $RetransmissionIndicator; // boolean
}
çok kolay. teşekkür ederim
Webcoder sınıfın adı ile yeni bir sınıf değişkeni oluşturun ve sonra her eleman için stdclasses oluşturmak veya geçmek isteyen bağlıyor. (Lisa verilen sınıf jeneratör kullanmanız gerekir.