ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jaliya Ekanayake" <jnekanay...@gmail.com>
Subject Re: URI$MalformedURIException
Date Thu, 13 Jul 2006 22:28:40 GMT
Great!,
-Jaliya
  ----- Original Message ----- 
  From: Valerio Vianello 
  To: Jaliya Ekanayake 
  Sent: Thursday, July 13, 2006 5:03 AM
  Subject: Re: URI$MalformedURIException


  Hi Jaliya,

  Thanks a lot. I resolved my problem.

  P.S. in the server in the middle I have used also the instruction ctx.setSourceURL("http://localhost:8080/axis/services/RMService");

    ----- Original Message ----- 
    From: Jaliya Ekanayake 
    To: Valerio Vianello 
    Cc: sandesha-dev@ws.apache.org 
    Sent: Thursday, July 13, 2006 6:34 AM
    Subject: Re: URI$MalformedURIException


    Hi Valerio,

    Let the three entities be A->B->C (A- Client, B - Service in the Middle, C - Final
Service)

    Do you have the client-config.wsdd in the classpath of B? B should have both client-config.wsdd
and also the server-config.wsdd.

    In addition the client-config.wsdd at B should be something like this as explained in
the userguide under the normal invocation.

    --------------------------------------------------

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- ======================================================================================
    /*
    * Copyright 1999-2004 The Apache Software Foundation.
    *
    * Licensed under the Apache License, Version 2.0 (the "License"); you may not
    * use this file except in compliance with the License. You may obtain a copy of
    * the License at
    *
    * http://www.apache.org/licenses/LICENSE-2.0
    *
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
    * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    * License for the specific language governing permissions and limitations under
    * the License.
    *
    */
    ======================================================================================
-->

    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
     <globalConfiguration>
      <parameter name="adminPassword" value="admin"/>
      <parameter name="disablePrettyXML" value="true"/>
      <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
      <parameter name="sendXsiTypes" value="true"/>
      <parameter name="sendMultiRefs" value="true"/>
      <parameter name="sendXMLDeclaration" value="true"/>
     </globalConfiguration>
     <handler name="RMSender" type="java:org.apache.sandesha.client.RMSender"/>
     <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
     <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
     <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
     <transport name="RMTransport" pivot="RMSender"/>
    </deployment>


    One more change; when initializing SandeshaContext you can use the following to inform
the server not to start a separate listener since we are inside a server already.

    SandeshaContext ctx = new SandeshaContext(true);

    Thanks,
    -Jaliya




      ----- Original Message ----- 
      From: Valerio Vianello 
      To: Jaliya Ekanayake 
      Sent: Wednesday, July 12, 2006 10:09 AM
      Subject: Re: URI$MalformedURIException


      Thanks a lot, this is the code of the service that act as a client :




      public class ServizioClient {

          
          public void start() {
              
              //ServizioServer endpoint
              String endpoint = new String("http://localhost:8080/axis/services/ServizioServer");

              try {

                  Service service = new Service();
                  Call call = (Call) service.createCall();

                  SandeshaContext ctx = new SandeshaContext();
                  
                  ctx.setAcksToURL("http://localhost:8080/axis/services/RMService");
                  ctx.setReplyToURL("http://localhost:8080/axis/services/RMService");
                  
                  ctx.initCall(call, endpoint, "urn:wsrm:ilNulla", Constants.ClientProperties.IN_ONLY);

                  call.setOperationName("ilNulla");
                  call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN);
                  
                  ctx.setLastMessage(call);
                  call.invoke(new Object[]{"Chiamata a ilNulla"});

                  RMReport report = ctx.endSequence();
                  

                  if (report != null) {
                      System.out.println("\n***********Printing RM Report***********");
                      System.out.println("Is all messages acked     - " + report.isAllAcked());
                      System.out.println("****************************************\n");
                  }

              } catch (Exception e) {
                  e.printStackTrace();
              }

              
          }
          
      }

      Valerio

        ----- Original Message ----- 
        From: Jaliya Ekanayake 
        To: Valerio Vianello 
        Cc: sandesha-dev@ws.apache.org 
        Sent: Wednesday, July 12, 2006 3:44 PM
        Subject: Re: URI$MalformedURIException


        Hi, 

        Seems like there is a problem with the addressing header values that you have set.
Can you send the client code in your first service where you use Call to invoke the other
web service.

        Thanks,
        Jaliya
          ----- Original Message ----- 
          From: Valerio Vianello 
          To: sandesha-dev@ws.apache.org 
          Sent: Wednesday, July 12, 2006 6:56 AM
          Subject: URI$MalformedURIException


          Hi all, I'm a new sandesha user and I'm trying to develop a service that calls another
service using reliable messaging.
          I published the client service using the following wsdd file:

          <deployment xmlns="http://xml.apache.org/axis/wsdd/" 

          xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

          <service name="ServizioClient" provider="java:RPC">

          <parameter name="className" value="sandeshaMio.ServizioClient"/>

          <parameter name="allowedMethods" value="*"/>

          </service>

          <service name="RMService" provider="Handler">

          <requestFlow>

          <handler type="java:org.apache.sandesha.ws.rm.handlers.RMServerRequestHandler"></handler>

          <handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler"></handler>

          </requestFlow>

          <parameter name="handlerClass" value="org.apache.sandesha.ws.rm.providers.RMClientProvider"/>

          <parameter name="className" value="org.apache.sandesha.client.RMService"/>

          <parameter name="allowedMethods" value="*"/>

          <parameter name="scope" value="request"/>

          </service>

          </deployment>

          and the service that act as a server with the following wsdd file:



          <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

          <service name="ServizioServer" provider="Handler">

          <requestFlow>

          <handler type="java:org.apache.sandesha.ws.rm.handlers.RMServerRequestHandler"></handler>

          <handler type="java:org.apache.axis.message.addressing.handler.AddressingHandler"></handler>

          </requestFlow>

          <parameter name="handlerClass" value="org.apache.sandesha.ws.rm.providers.RMProvider"/>

          <parameter name="className" value="sandeshaMio.ServizioServer"/>

          <parameter name="allowedMethods" value="*"/>

          <parameter name="scope" value="request"/>

          </service>

          </deployment>



          When the client service tries to invoke the other service I get the following error
from the server :

          AxisFault
           faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
           faultSubcode: 
           faultString: org.apache.axis.types.URI$MalformedURIException: Cannot initialize
URI with empty parameters.
           faultActor: 
           faultNode: 
           faultDetail: 
           {http://xml.apache.org/axis/}stackTrace:org.apache.axis.types.URI$MalformedURIException:
Cannot initialize URI with empty parameters.
           at org.apache.axis.types.URI.initialize(URI.java:614)
           at org.apache.axis.types.URI.&lt;init&gt;(URI.java:311)
           at org.apache.axis.types.URI.&lt;init&gt;(URI.java:272)
           at org.apache.axis.message.addressing.handler.AddressingHandler.processClientRequest(AddressingHandler.java:240)
           at org.apache.axis.message.addressing.handler.AddressingHandler.invoke(AddressingHandler.java:108)
           at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
           at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
           at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
           at org.apache.axis.client.AxisClient.invoke(AxisClient.java:127)
           at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
           at org.apache.axis.client.Call.invoke(Call.java:2767)
           at org.apache.axis.client.Call.invoke(Call.java:2443)
           at org.apache.axis.client.Call.invoke(Call.java:2366)
           at org.apache.axis.client.Call.invoke(Call.java:1812)
           at sandeshaMio.ServizioClient.start(ServizioClient.java:50)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:585)
           at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
           at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
           at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
           at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
           at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
           at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
           at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
           at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
           at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
           at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
           at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
           at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
           at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
           at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
           at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
           at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
           at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
           at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
           at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
           at java.lang.Thread.run(Thread.java:595)
          ................

          any suggestion ?

          Valerio





Mime
View raw message