SSL SOAP: серверное приложение IBM SOAP не позволяет мне использовать размещенный веб-сервис

На работе я в настоящее время программирую приложение, которое отправляет XML-файл в веб-сервис. То, что мой сервис делает с этим, не имеет значения, вот как он получает, это имеет значение.

Прежде чем приступить к этому проекту, я был действительно новичком в SOAP и SSL-шифровании.

Мне потребовалось чуть больше десятка часов, чтобы понять, что именно нужно делать, чтобы получить ответ от веб-службы с PHP и его SOAP API.

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

Вот ошибка:

soapenv:Serversecurity.wssecurity.WSSContextImpl.s02: com.ibm.websphere.security.WSSecurityException: Exception org.apache.axis2.AxisFault: CWWSS7200E: Unable to create AxisService from ServiceEndpointAddress : http://example.com/webservice/ ocurred while running action: com.ibm.ws.wssecurity.handler.WSSecurityConsumerHandler$1@6bd36bd3

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

И некоторые дополнительные сведения о сделке.

Заголовок запроса:
POST /example.com/webservice HTTP / 1.1 Хост: example.com Соединение: пользовательский агент Keep-Alive: PHP-SOAP / 5.4.39-0 + deb7u1 Content-Type: text / xml; charset = utf-8 SOAPAction: «» Длина содержимого: 231

Тело запроса:

Ответ заголовка:
HTTP / 1.1 500 Внутренняя ошибка сервера. Соединение: закрыть Дата: Пн, 29 Авг. 2016 14:19:02 GMT Сервер: Cookie-набор шлюзов: BIGipServer ~ extranet ~ P_P1_VSP1 = 763381288.37012.0000; Path = /; Через: Шлюз X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode = block Content-Language: fr-FR Content-Type: text / xml; кодировка = UTF-8

Тело отклика:
soapenv: Serversecurity.wssecurity.WSSContextImpl.s02: com.ibm.websphere.security.WSSecurityException: исключение org.apache.axis2.AxisFault: CWWSS7200E: Невозможно выполнить задачу AxisService в части ServiceEndpointAddress: http://example.com/web_service произошел во время выполнения действия: com.ibm.ws.wssecurity.handler.WSSecurityConsumerHandler$1@5d4a5d4a

Что странно, так это то, что отправляемый мной запрос пуст. Как это могло произойти ?

На Веб-сайт IBM написано что это происходит

когда есть не UTF-8 ServiceEndpointAddress

Я не совсем понимаю смысл этого, во-первых, потому что я французский, а во-вторых, потому что я действительно новичок в программировании веб-сервисов.

Как вы увидите в моем коде, символьное шифрование отправленного XML объявлено как utf-8. Я также пытался закодировать содержимое моего файла с utf8_encode () из PHP перед отправкой: ничего нового на экране.

Вот код PHP, который реализует соединение с веб-службой:

  $filename = "test1.xml";
$XMLStr = file_get_contents("test1.xml");
$wsdl    = $wsdl_url;
$options = Array();
$options[ 'local_cert' ] = $pem_file;
$options[ 'location' ] = $server_location;
$options[ 'uri' ] = $namespace_file;
$options[ 'soap_version' ] = SOAP_1_1;
$options[ 'trace' ] = true;
$options[ 'encoding' ] = 'utf-8';

try {
$soapCli = new SoapClient($wsdl, $options);
$soapCli->traitementFlux($XMLStr);
} catch(SoapFault $e)
{
echo 'Error['.$e->faultcode.'] : '.$e->faultstring.'<br/>';
echo '<br/><br/>'.$soapCli->__getLastResponse().'<br/>';
}

У меня нет никаких прав на сервере.

Есть ли ошибка или недоразумение функции?

Спасибо за будущие ответы.

1

Решение

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

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

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

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