Связь между 2 веб-сервисами на 2 системах - PullRequest
0 голосов
/ 12 января 2010

У нас есть java ws, развернутый на Glassfish и говорящий с другим java ws, развернутым на glassfish (оба являются Java EE 5, и оба разрабатываются на netbeans 6.7.1). Поэтому ни один из этих ws не использует SSL, но когда основной ws вызывает другой, мы получаем эту ошибку:

WSTX-COORDINATOR-3005: registerResponse sent to EPR '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EndpointReference xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"><Address>https://trinity2.its.local:8181/__wstx-services/wscoor/coordinator/registerResponse</Address><ReferenceParameters><jaxws:objectId xmlns:jaxws="http://jax-ws.dev.java.net/xml/ns/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">4e470037-57c9-4903-9b32-fafc6da84ec7</jaxws:objectId></ReferenceParameters></EndpointReference>' failed.  activityId 'uuid:WSCOOR-SUN-2ade62a8-d476-474b-9b9d-a0c1fdeb069f' and msg 'uuid:41c6e179-af20-47da-bbfd-e73519000765'. Nested exception: 'HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target'
HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
com.sun.xml.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:134)

Как мы можем удержать Glassfish от попыток общаться друг с другом по протоколу SSL? Когда мы делаем обычное Java-приложение, которое работает как клиент для 2-й WS, оно работает нормально, так что кажется, что Glassfish.

1 Ответ

0 голосов
/ 13 января 2010

Хорошо, у меня есть частичный ответ на мой вопрос. Поэтому в netbeans я открыл wsdl сервера в клиентском проекте и удалил всю информацию о политике.

Итак, это:

<operation name="jobNote">
<ns216:PolicyReference xmlns:ns216="http://www.w3.org/ns/ws-policy" URI="#MetaPortBinding_jobNote_WSAT_Policy"></ns216:PolicyReference>
<soap:operation soapAction=""></soap:operation>

стало так:

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

...