0
perl로 변환해야하는 유효한 SOAP 요청에서 다음 xml 출력을 얻었습니다. 나는 매개 변수를 추가하여 다른 비누 요청을 성공적으로 만들었지 만 이것은 문제가되는 xml 요소의 속성이 있다는 점에서 다릅니다. 이것은 요청입니다.SOAP :: Lite 웹 서비스 요청
<SendNotificationRequest clientIndicator="ISAAC_WFE" language="en"
xsi:schemaLocation="http://edd.att.com/cnmeddservice EDD_Request.xsd" xmlns="http://edd.att.com/cnmeddservice" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ctype>TXT_TO_MGR</ctype>
<ctn category="contact">917523xxxx</ctn>
<data>
<dataField name="MgrID">jz359m</dataField>
<dataField name="SMSText">this is a test SMS message</dataField>
</data>
</SendNotificationRequest>
이 작동하지 않습니다와 나는 '카테고리'과 XML 요소가 아닌 요소 자체의 속성 인 '이름'필드의 때문에 생각합니다. 이것이 내가 필요한 것에 가까운 것이면 알려주세요. Soap::Lite 페이지에서
$self->{method_name} = 'SendNotificationRequest';
$self->{method_attr} = {
"clientIndicator" => 'ISAAC_WFE',
"language" => "en",
"xsi:schemaLocation" => 'http://edd.att.com/cnmeddservice EDD_Request.xsd',
"xmlns" => 'http://edd.att.com/cnmeddservice',
"xmlns:xsi" => 'http://www.w3.org/2001/XMLSchema-instance',
"xmlns:cnm" => 'http://edd.att.com/cnmeddservice',
};
my $data = SOAP::Data->name($self->{method_name})->attr($self->{method_attr});
my @params = ($data =>(
SOAP::Data->type("")->name('ctype' => 'TXT_TO_MGR'),
SOAP::Data->type("")->name('ctn')->attr({'category'})->value(SOAP::Data->value([
SOAP::Data->name('contact' => '917523xxxx')])),
SOAP::Data->type("")->name(data =>
\SOAP::Data->type('')->value(
SOAP::Data->type('')->name('dataField')->attr({'name'})->value(SOAP::Data->value([
SOAP::Data->name('MgrID' => 'jz359m')])),
SOAP::Data->type('')->name('dataField')->attr({'name'})->value(SOAP::Data->value([
SOAP::Data->name('SMSText' => 'this is a test SMS message')])),
))));
$self->{content} = $soap->call(@params);
$self->{request} = $soap->serializer->envelope(method => $data, @params);