2016-09-12 7 views
0

Мой код для вызова на имя порта getDUNSProfile() выглядит следующим образом:Когда происходит javax.xml.ws.soap.SOAPFaultException?

public class LookupRequestProcessor 
{ 
    protected GetCleanseMatchResponse sendRequest(Request request) throws Exception_Exception, GetDUNSProfileFault, PayloadException 
    { 
    return DNBPortUtil.getDunsService().getDUNSProfile(); 
    } 
} 

И я получаю исключение, как показано ниже (Обновлено с полной StackTrace)

java.lang.Error: javax.xml.ws.soap.SOAPFaultException: Error in operation: 
     at imx.svb.module.getdunsprofile.LookupRequestProcessor.doWork(LookupRequestProcessor.java:478) 
     at imx.svb.TemplateDatablockProcessor.run(TemplateDatablockProcessor.java:63) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: javax.xml.ws.soap.SOAPFaultException: Error in operation: 
     at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:197) 
     at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130) 
     at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:125) 
     at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95) 
     at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136) 
     at com.sun.proxy.$Proxy97.getDUNSProfile(Unknown Source) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:84) 
     at com.sun.proxy.$Proxy98.getDUNSProfile(Unknown Source) 
     at imx.svb.module.getdunsprofile.LookupRequestProcessor.sendRequest(LookupRequestProcessor.java:258) 
     at imx.svb.module.getdunsprofile.LookupRequestProcessor.doWork(LookupRequestProcessor.java:472) 

Означает ли это, я успешно вызван в порт? Или еще не дотягивает?
Является ли сообщение Ошибка в работе из исключения, возвращаемого сервером WS?

+0

Это не похоже на всю трассировку стека. Обычно в стеке есть исключение «Caused by», которое должно указывать на проблему. Если это все, что у вас есть, ваша единственная надежда состоит в том, чтобы запустить через отладчик и посмотреть, что происходит, когда вызывается исключение. – Brad

+0

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

+0

*** Я не могу сделать debug **** Редактировать выше комментарий –

ответ

1

Скорее всего, вы достигли порта. Ссылка the documentation of the Fault и this thread on code ranch, по-видимому, указывает на то, что ошибка от поставщика услуги. В вашем коде вы можете добавить блок, чтобы поймать Exception и получить SOAPFault, который будет вызываться при вызове. Если ошибка хорошо обработана, в идеале она должна дать вам повод/код относительно того, почему происходит исключение.

+0

Спасибо, у меня есть блок, чтобы поймать Исключение уже, вот где я получаю трассировку стека как от Почты. Я googled для «Ошибка в работе», но, похоже, нет никакого типа этого сообщения от JAXWS, поэтому я предполагаю, что он является обычным поставщиком услуг. –

+1

Получил. Может быть, просто проверить, вы можете попробовать getFault и посмотреть, есть ли у вас какие-либо дополнительные сведения, которые были добавлены в SOAPFault. –

+0

Хорошо, позвольте мне попробовать, я отправлю результат здесь –