wso2ei — вызывает несколько выборочных операций через окно запроса в мыльном вызове php wsdl, используя автоматически созданный сервис wsdl

Ранее я использовал boxcarring в wso2dss 3.2.2 для вызова нескольких операций, и он работал без проблем.

Однако после перехода на wso2ei я заметил, что boxcarring больше не работает, и вместо этого я должен использовать новую функцию Request Box.

Я попытался запросить окно, и он работает нормально, без проблем, попробуйте его инструмент. Когда я выбираю поле запроса в списке операций в инструменте «пробуй это», он добавляет все мои операции в тело запроса, но я могу удалить те, которые мне не нужны, и запустить его только с теми операциями, которые мне нужны, и он работает нормально.

Однако теперь у меня есть проблема, делающая то же самое из php с мыльными вызовами wsdl …

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

Если я не пропускаю все операции, я получаю следующую ошибку:

SOAP-ERROR: Encoding: object has no 'missing_operation_in_soap_call' property

Когда я проверяю сгенерированный файл wsdl службы, в нем есть все операции, перечисленные в request_box с minoccurs = 0, как в следующем примере:

<xs:element name="request_box">
<xs:complexType>
<xs:all minOccurs="0">
<xs:element ref="ns0:operaion1"/>
<xs:element ref="ns0:operaion2"/>
<xs:element ref="ns0:operaion3"/>
<xs:element ref="ns0:operaion4"/>
<xs:element ref="ns0:operaion5"/>
</xs:all>
</xs:complexType>
</xs:element>

Я хочу использовать автоматически сгенерированный сервис wsdl для мыльных вызовов и иметь возможность использовать окно запроса с несколькими выборочными операциями. В одном случае мне может понадобиться использовать окно запроса для operaion1 и operation2, в то время как в другом случае мне может понадобиться использовать окно запроса для operation3 и operation4.

Как правильно достичь этого? Можно ли вообще использовать автоматически сгенерированный сервис wsdl в мыльном вызове php wsdl?

Редактировать:

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

<xs:element name="request_box">
<xs:complexType>
<xs:all minOccurs="0">
<xs:element ref="ns0:operaion1" minOccurs="0"/>
<xs:element ref="ns0:operaion2" minOccurs="0"/>
<xs:element ref="ns0:operaion3" minOccurs="0"/>
<xs:element ref="ns0:operaion4" minOccurs="0"/>
<xs:element ref="ns0:operaion5" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>

Есть ли какие-либо настройки в wso2ei, чтобы он автоматически генерировал xml таким образом для request_box?

0

Решение

Задача ещё не решена.

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

Других решений пока нет …

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