Схема OAGIS игнорирует & lt; StreetName & gt; узел

Проблема: когда я отправляю запрос в Biztalk через PHP SoapClientЯ теряю один узел <StreetName>,

Biztalk проверяет наш запрос по схеме OAGIS.

Для отправки я конвертирую XML в Arrayи отправить запрос как массив, но когда проверить мой последний запрос на мыло $soapClient->__getLastRequest()Я теряю узлы.

Мой массив запросов:

 'Location' =>
array(
'Address' =>
array(
'StreetName' => 'StreetName',
'CityName' => 'Zyrardow',
'CountrySubDivisionCode' => 'PL',
'CountryCode' => 'PL',
'PostalCode' => '96-300',
),
),

В $soapClient->__getLastRequest() Я теряю узел <StreetName>:

</ns1:Location>
<ns1:Address>
<ns1:CityName>MyCityName</ns1:CityName>
<ns1:CountrySubDivisionCode>PL</ns1:CountrySubDivisionCode>
<ns1:CountryCode>PL</ns1:CountryCode>
<ns1:PostalCode>96-300</ns1:PostalCode>
</ns1:Address>
</ns1:Location>

В узле документации OAGIS <Address> должен содержать этот узел
ОАГИС док «Адрес»

В случае, если я отправлю в массиве:

<AddressLine>

или же:

<LineOne>
<LineTwo>
<LineThree>
<LineFour>
<LineFive>

Этот узел мы НЕ потери!

Пример массивов и последний запрос ($soapClient->__getLastRequest()):

'Location' =>array(
'Address' =>
array(
'AddressLine' => 'AddressLine',
'CityName' => 'Zyrardow',
'CountrySubDivisionCode' => 'PL',
'CountryCode' => 'PL',
'PostalCode' => '96-300',
),
),
<ns1:Location>
<ns1:Address>
<ns1:AddressLine>AddressLine</ns1:AddressLine>
<ns1:CityName>MYCHANGESHERE</ns1:CityName>
<ns1:CountrySubDivisionCode>PL</ns1:CountrySubDivisionCode>
<ns1:CountryCode>PL</ns1:CountryCode>
<ns1:PostalCode>96-300</ns1:PostalCode>
</ns1:Address>
<ns1:Location>

а также:

'Location' =>array(
'Address' =>
array(
'LineOne' => 'LineOne',
'LineTwo' => 'LineTwo',
'LineThree' => 'LineThree',
'LineFour' => 'LineFour',
'LineFive' => 'LineFive',
'CityName' => 'Zyrardow',
'CountrySubDivisionCode' => 'PL',
'CountryCode' => 'PL',
'PostalCode' => '96-300',
),
),
<ns1:Location>
<ns1:Address>
<ns1:LineOne>LineOne</ns1:LineOne>
<ns1:LineTwo>LineTwo</ns1:LineTwo>
<ns1:LineThree>LineThree</ns1:LineThree>
<ns1:LineFour>LineFour</ns1:LineFour>
<ns1:LineFive>LineFive</ns1:LineFive>
<ns1:CityName>MYCHANGESHERE</ns1:CityName>
<ns1:CountrySubDivisionCode>PL</ns1:CountrySubDivisionCode>
<ns1:CountryCode>PL</ns1:CountryCode>
<ns1:PostalCode>96-300</ns1:PostalCode>
</ns1:Address>
<ns1:Location>

Дополнительная информация:

я нашел документация, где это показывает нам, что нам нужно выбрать то, что мы будем отправлять. Но в моем случае некоторые узлы игнорируются.

0

Решение

БДН,

OAGIS 9.4.1 Адрес определяется так, как указано в вашей ссылке:
(Адресная строка или (Первая строка, Вторая строка, Третья строка, Четвертая строка, Пятая строка
) или (номер здания, название здания, название улицы, блок, этаж,
Почтовый ящик, код пункта доставки))

Если вы решите использовать AddressLine или LineOne, у вас НЕ будет возможности использовать StreetName по этому определению.

Последняя версия OAGIS 10.1 не имеет этого ограничения.

0

Другие решения

БДН,

Если вы используете выбор последовательности с StreetName, определение схемы XML позволяет это по определению. Из определения схемы XML нет способа, которым xsd удалил бы содержимое.

Майк

0

По вопросам рекламы [email protected]