PerlでのSOAP送信について教えてください。下記①はWSDLの抜粋コードです
名前aFという所にacTで指定されているように、
2つの値を送信する必要があるのですが、
WSDLで配列を処理するコードが書かれていない為、送信方法がわかりません
$array = SOAP::Data->type(array => ['string','string']);
これだと配列を投げてしまう為、SOAP Faultが返されます。
sIAの名前属性で飛ばされる先のsIATは配列処理がされているため、
わざとこのaFのみ、配列処理がされてないようです。
この場合、どうやって処理したら宜しいでしょうか。
print SOAP::Lite->service($wsdl)->submit(●,'sI値','sIA値');
--WSDL抜粋
<xsd:complexType name=sRT>
<xsd:sequence>
<xsd:element name=aF type=tns:acT />
<xsd:element name=sI type=xsd:string />
<xsd:element name=sIA type=tns:sIAT />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name=acT>
<xsd:sequence>
<xsd:element name=bI type=xsd:string />
<xsd:element name=tI type=xsd:string />
</xsd:sequence>
</xsd:complexType>
# service は、あまり使ったことないのですが、、、
SOAP::Lite->service(WSDL)->submit(
SOAP::Data->value([
SOAP::Data->name('bl')->value(1234),
SOAP::Data->name('tl')->value(2345),
]),
'sl値',
'slA値'
);
# で、どーですか??
# ちなみに、SOAP::Lite の WSDL 読み込みは、「.」が入った operation がエラーになったはずなので
SOAP::Lite->new()->('submit', xxxxxx);
# で、やってみてはいかがでしょうか?
# service は、あまり使ったことないのですが、、、
SOAP::Lite->service(WSDL)->submit(
SOAP::Data->value([
SOAP::Data->name('bl')->value(1234),
SOAP::Data->name('tl')->value(2345),
]),
'sl値',
'slA値'
);
# で、どーですか??
# ちなみに、SOAP::Lite の WSDL 読み込みは、「.」が入った operation がエラーになったはずなので
SOAP::Lite->new()->('submit', xxxxxx);
# で、やってみてはいかがでしょうか?
丁寧な回答ありがとうございます!
ただ、教えて頂いたものだと、[ ]でくくるため、配列になりませんか?
サービス先は技術的な回答はしてくれないのですが、(SOAP::Liteについては詳細不明とのこと)
送信方法がわかっていない部分のSOAP送信サンプルをもらえました。
<aF xsi:type="ns1:acT">
<bI xsi:type="xsd:string">sample req</bI>
<tI xsi:type="xsd:string">sample req</tI>
</aF>
aFの中にbIとtIを置いて、aFではtype としてacTを指定しないといけないようです。。
※サービスからの回答でaFは配列ではないことも念を押されました。
ポイント数アップしますのでお忙しいところ申し訳ございませんが、
ご協力お願いできますでしょうか。。
丁寧な回答ありがとうございます!
ただ、教えて頂いたものだと、[ ]でくくるため、配列になりませんか?
サービス先は技術的な回答はしてくれないのですが、(SOAP::Liteについては詳細不明とのこと)
送信方法がわかっていない部分のSOAP送信サンプルをもらえました。
<aF xsi:type="ns1:acT">
<bI xsi:type="xsd:string">sample req</bI>
<tI xsi:type="xsd:string">sample req</tI>
</aF>
aFの中にbIとtIを置いて、aFではtype としてacTを指定しないといけないようです。。
※サービスからの回答でaFは配列ではないことも念を押されました。
ポイント数アップしますのでお忙しいところ申し訳ございませんが、
ご協力お願いできますでしょうか。。