0 Replies Latest reply on Dec 22, 2011 10:05 AM by loo

    Problème Jboss Webservice esb jbr-provider

    loo

      Bonjour,

       

      je débute sur jboss et je souhaiterais créer un esb de type webservice.

      J'ai créé un projet de type esb ainsi qu'un provider de type JBR-provider pour mon fichier jboss-esb.xml que voici :

       

      <?xml version="1.0"?>

      <jbossesb parameterReloadSecs="5"

          xmlns="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"

          xmlns:xsi="http://anonsvn.labs.jboss.com/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.0.1.xsd"

          xsi:schemaLocation="http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/etc/schemas/xml/jbossesb-1.3.0.xsd">

          <providers>

       

              <jbr-provider name="WSModeleProd" protocol="http" host="x.x.x.x">

                  <jbr-bus busid="Http-WSModeleProd-1" port="8081" />

              </jbr-provider>

          </providers>

          <services>

              <service category="ServiceCategoryWSModeleProd" name="ServiceWSModeleProd"

                  description="WS Frontend speaks natively to the ESB" invmScope="GLOBAL">

                  <listeners>

                      <jbr-listener name="WSModeleProd" busidref="Http-WSModeleProd-1"

                          is-gateway="true" />

                  </listeners>

                  <actions mep="RequestResponse">

                      <action name="ActionWSModeleProd" class="chu.esb.actions.SPrGatewayWSModeleProdAction"

                          process="WSModeleAction">

                      </action>

                  </actions>

              </service>

          </services>

      </jbossesb>

       

       

      J'ai créé la classe chu.esb.actions.SPrGatewayWSModeleProdAction que voici :

       

      package chu.esb.actions;

       

      ....

      @WebService(name = "SPrGatewayWSModeleProdAction", targetNamespace = "http://10.10.1.83:8081/SPrGatewayWSModeleProdAction")

      public class SPrGatewayWSModeleProdAction extends AbstractActionPipelineProcessor implements ISPrGatewayWSModeleProdAction {

       

          protected ConfigTree    _config;

       

          public SPrGatewayWSModeleProdAction(ConfigTree config) {

              _config = config;

          }

          @WebMethod

          public Message WSModeleAction(@WebParam(name = "message") Message message) {

              System.out.println("WSModeleAction - message=" + message.getBody());       

              return message;

       

          }

          public Message process(Message arg0) throws ActionProcessingException {

              // TODO Auto-generated method stub

              return null;

          }

      }

       

      Lors du deploiement tout se passe bien, mais lorsque je tape l'url de type : x.x.x.x:8081/SPrGatewayWSModeleProdAction, j'obtiens l'erreur suivante :

       

      org.jboss.soa.esb.couriers.FaultMessageException: java.lang.IllegalArgumentException: null 'value' arg in method call.

      at org.jboss.soa.esb.listeners.message.errors.Factory.createExceptionFromFault(Factory.java:50)

      at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.pickup(TwoWayCourierImpl.java:207)

      at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.attemptDelivery(ServiceInvoker.java:675)

      at org.jboss.soa.esb.client.ServiceInvoker$EPRInvoker.access$200(ServiceInvoker.java:569)

      at org.jboss.soa.esb.client.ServiceInvoker.post(ServiceInvoker.java:359)

      at org.jboss.soa.esb.client.ServiceInvoker.deliverSync(ServiceInvoker.java:219)

      at org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSyncWithoutDecomposing(UncomposedMessageDeliveryAdapter.java:107)

      at org.jboss.soa.esb.listeners.message.UncomposedMessageDeliveryAdapter.deliverSync(UncomposedMessageDeliveryAdapter.java:86)

      at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.invoke(JBossRemotingGatewayListener.java:375)

      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:930)

      at org.jboss.remoting.transport.coyote.CoyoteInvoker.service(CoyoteInvoker.java:392)

      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)

      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)

      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451)

      at java.lang.Thread.run(Thread.java:636)

      Caused by: java.lang.IllegalArgumentException: null 'value' arg in method call.

      at org.jboss.internal.soa.esb.assertion.AssertArgument.isNotNull(AssertArgument.java:43)

      at org.jboss.internal.soa.esb.message.format.xml.BodyImpl.add(BodyImpl.java:83)

      at chu.esb.esb_communs.ESB_Communs.setParameters(ESB_Communs.java:2586)

      at chu.esb.actions.SPrGatewayWSModeleProdAction.WSModeleAction(SPrGatewayWSModeleProdAction.java:41)

      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:616)

      at org.jboss.soa.esb.listeners.message.ActionProcessorMethodInfo.processMethods(ActionProcessorMethodInfo.java:102)

      at org.jboss.soa.esb.listeners.message.OverriddenActionPipelineProcessor.process(OverriddenActionPipelineProcessor.java:73)

      at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:649)

      at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:603)

      at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:433)

      at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:550)

      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

      ... 1 more

       

       

      Qu'est ce cela veut dire ?

      Lorsque j'appelle mon webservice depuis une application cliente, j'obtiens une erreur (de type org.jboss.remoting.transport.http.WebServerError:) mais le fichier de log affiche tout de meme le bon message.

       

      A t-on besoin de créer un fichier wsdl contenu dans mon projet esb webservice ? un autre fichier ? quels sont les erreurs de configuration de cet esb ?

      Merci pour vos lumières.