Estou tentando fazer uma integração com JAX WS, porem não está dando certo no java, no SOAP UI está ok, alguém pode me ajudar?
public class TesteRequestConsultaInconsistencia {
private static final String WS_URL = "http://horusws.treinamento.saude.gov.br/horus-ws-service/HorusWSService/HorusWS?wsdl";
public static void main(String[] args) {
try {
URL url = new URL(WS_URL);
QName qname = new QName("http://www.saude.gov.br/horus-ws", "HorusWSService");
Service service = Service.create(url, qname);
HorusWSAsync horusWSAsync = service.getPort(HorusWSAsync.class);
BindingProvider binding = (BindingProvider) horusWSAsync;
binding.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, WS_URL);
binding.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "alessandro@rangtecnologia.com.br");
binding.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "horus247841");
binding.getRequestContext().put("SOAPAction", "hor:consultarInconsistencias");
ProtocoloType protocolo = new ProtocoloType();
protocolo.setDtRecebimento("31-10-2017 15:34:12");
protocolo.setNuProtocoloEntrada("17100000023000003132");
InconsistenciaProcessamentoLoteType inconsistencias = horusWSAsync.consultarInconsistencias(protocolo);
for (InconsistenciaProcessamentoLoteType.Inconsistencias in : inconsistencias.getInconsistencias()) {
System.out.println("inconsistencia:" + in.getInconsistencia().getMensagem());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
ERRO:
dez 26, 2017 2:28:42 PM com.sun.xml.ws.wsdl.PayloadQNameBasedOperationFinder <init>
ADVERTÊNCIA: Sem partes do corpo exclusivas! Em uma porta, conforme BP 1.1 R2710, as operações devem ter assinatura de operação exclusiva na conexão para obter despacho com sucesso. Os métodos [consultarInconsistencias, consultarResultadoProcessamento] têm o mesmo bloco do corpo da solicitação {http://www.saude.gov.br/horus-ws/schemas/v1/HorusTypes}protocolo. O método de despacho pode falhar, o runtime tentará despachar usando SOAPAction. Outra opção é ativar o AddressingFeature para o runtime ativado identificar exclusivamente a operação do WSDL usando o cabeçalho wsa:Action.
dez 26, 2017 2:28:42 PM com.sun.xml.ws.wsdl.PayloadQNameBasedOperationFinder <init>
ADVERTÊNCIA: Sem partes do corpo exclusivas! Em uma porta, conforme BP 1.1 R2710, as operações devem ter assinatura de operação exclusiva na conexão para obter despacho com sucesso. Os métodos [consultarInconsistencias, consultarResultadoProcessamento] têm o mesmo bloco do corpo da solicitação {http://www.saude.gov.br/horus-ws/schemas/v1/HorusTypes}protocolo. O método de despacho pode falhar, o runtime tentará despachar usando SOAPAction. Outra opção é ativar o AddressingFeature para o runtime ativado identificar exclusivamente a operação do WSDL usando o cabeçalho wsa:Action.
com.sun.xml.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Fault occurred while processing. Please see the server log to find more detail regarding exact cause of the failure.
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:131)
at com.sun.xml.ws.client.sei.StubHandler.readResponse(StubHandler.java:253)
at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:203)
at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:290)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
at com.sun.proxy.$Proxy42.consultarInconsistencias(Unknown Source)
at br.com.rangtecnologia.webservice.horus.TesteRequestConsultaInconsistencia.main(TesteRequestConsultaInconsistencia.java:32)