Клиент обновления JBossWS 3.3.1 возвращает исключение HTTP 404 Not Found - PullRequest
1 голос
/ 20 января 2012

Веб-сервис - Сервис на WAS v7. Клиент на JBoss v5. Недавно мы обновились до JBossWS 3.3.1. С тех пор клиент не может связаться с сервисом по WAS.

Без каких-либо изменений в коде мы получаем исключение ниже

2012-01-19 14:42:15,317 ERROR [org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS]->error@419 (ajp-cwsappdev01%2F205.132.14.29-8109-1) 
SOAP request exception java.io.IOException: 
Error initializing socket factory SSL context: Can not find truststore url.

Добавлены следующие строки кода для клиента:

((BindingProvider) impl).getRequestContext().put(StubExt.PROPERTY_KEY_STORE, "/usr/local/jee/.../cacerts"));
((BindingProvider) impl).getRequestContext().put(StubExt.PROPERTY_KEY_STORE_PASSWORD, "*****"));
((BindingProvider) impl).getRequestContext().put(StubExt.PROPERTY_CHUNKED_ENCODING_SIZE, "0");

После внесения изменения в код я получаю сообщение об ошибке ниже:

Caused by: org.jboss.ws.WSException: Invalid HTTP server response [404] - Not Found

Есть идеи? Я добавил свойство кодирования chunked, так как WAS не поддерживает его должным образом. Любая другая несовместимость между JBoss и WebSphere App Server?

Заранее спасибо за помощь!

================== Я внес некоторые изменения в код и теперь получаю сообщение ниже. Я использую версии JBossWS-Native 3.3.1 и JAX-WS 2.1. Кто-нибудь знает, как я могу отключить chunked-кодировку в JBoss? Файл standard-jaxws-client-config.xml переместился в один из JBoss ядра JARS - для его обновления мне потребуется «разархивировать» - отредактировать файл - и снова выполнить откат.

2012-01-24 10:35:57,930 WARN  [org.jboss.ws.core.client.transport.NettyClient]->warn@352 (ajp-cwsappdev01%2F205.132.14.29-8109-4) Can't set chunk size from call properties, illegal value provided!
2012-01-24 10:35:58,001 ERROR [org.jboss.ws.core.CommonClient]->error@419 (ajp-cwsappdev01%2F205.132.14.29-8109-4) Exception caught while (preparing for) performing the invocation: 
java.io.IOException: Could not transmit message
at org.jboss.ws.core.client.transport.NettyClient.invokeInternal(NettyClient.java:229)
at org.jboss.ws.core.client.transport.NettyClient.invoke(NettyClient.java:121)
at org.jboss.ws.core.client.HTTPRemotingConnection.invoke(HTTPRemotingConnection.java:150)
at org.jboss.ws.core.client.SOAPProtocolConnectionHTTP.invoke(SOAPProtocolConnectionHTTP.java:69)
at org.jboss.ws.core.CommonClient.invoke(CommonClient.java:369)
at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:181)
at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:161)
at $Proxy796.getCWSAccount(Unknown Source)

1 Ответ

0 голосов
/ 31 января 2012

Причина: хотя в URL-адресе конечной точки клиента указан порт 8004; когда запрос попал в сервис, он получал порт 443. Мы переместили / «подключили» сервис к порту 443, и веб-сервер смог сопоставить его с нужным приложением. нужно будет выяснить, почему / где конечная точка была изменена с 8004 на 443 ..

...