2015-05-29 2 views
0

Я хотел бы проверить запрос на мыло, завернутый в MTOM, с помощью Apigee SOAP Message Validation против WSDL-файла.apigee Проверка SOAP

Когда я отправить запрос с заголовком

Content-тип: многочастному/связанные; тип = "приложения/ХОР + XML", начать = "http://tempuri.org/0 "; граница =" UUID: 4fa9f99a-7f53-4ac6-84ff-05655e9af89c + ID = 22 " старт-инфо =" Текст/XML"

политика проверки правильности кажется просто сквозной/не триггерной. Я помещаю фиктивную информацию в конверт, но это не подводит. Я видел сообщение, в котором кто-то упомянул, что для того, чтобы политика проверки SOAP была запущена, заголовок должен указывать Content-type: «application/xml». Если я это сделаю, то упаковка MTOM вызывает проблемы, поскольку тело запроса не является чистым XML:

Ex. МТ обертка: --uuid: 4fa9f99a-7f53-4ac6-84ff-05655e9af89c + ID = 22 Content-ID: http://tempuri.org/0 Content-Transfer-Encoding: 8bit Content-Type: применение/XOP + XML; кодировка UTF-= 8; type = "text/xml"

Итак, длинный (извините) способ задать этот вопрос: КАК Я ИСПОЛЬЗУЮТ ПОЛИТИКУ ПОЛИТИКИ ПОСЛЕ СООБЩЕНИЙ В АФИГЕ, ЕСЛИ ЭТО ОЖИДАЕТ ЧИСТЫЙ XML И У ВАШЕГО МОМОРА?

Примечания стороны, я пытался извлекая сам SOAP сообщение/конверт в переменном (bodyvar) и имеющем источник политики определяется как эта переменные, но затем APIGEE жалуется, что переменный не разрешает сообщения:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<MessageValidation async="false" continueOnError="false" enabled="true" name="WSDL_VALIDATION"> 
    <DisplayName>WSDL_VALIDATION</DisplayName> 
    <FaultRules/> 
    <Properties/> 
    <SOAPMessage /> 
    <Element namespace="http://schemas.xmlsoap.org/soap/envelope/">Body</Element> 
    <Source>bodyvar</Source> 
    <ResourceURL>wsdl://FormRequest.wsdl</ResourceURL> 
</MessageValidation> 

Выполнение этого дайте мне эту ошибку: {"fault": {"faultstring": "Переменная env не разрешает сообщение", "detail": {"errorcode": "steps.messagevalidation.NonMessageVariable"}} }

ответ

0

Да, проверка сообщения с мылом работает только в том случае, если тип содержимого является приложением/xml. Я предполагаю, что вам нужно установить тип контента на вышеупомянутое значение, чтобы его база поняла. Поэтому я бы предложил следующее: - при отправке сообщения от клиента отправьте его как приложение/xml - после подтверждения сообщения о мыле вы можете использовать политику назначения или политику javascript для установки заголовка типа содержимого на ваш желательно, перед отправкой его в цель.

Надеюсь, этот подход будет работать для вас.

Смежные вопросы