You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/03/13 19:04:25 UTC

DO NOT REPLY [Bug 17966] New: - Request flow for named service in client-config.wsdd is not followed.

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17966>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17966

Request flow for named service in client-config.wsdd is not followed.

           Summary: Request flow for named service in client-config.wsdd is
                    not followed.
           Product: Axis
           Version: 1.0
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Deployment / Registries
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: gregbobak@colenational.com


In beta-3 there is support for Call.setTargetService(String tserv).  This is 
not deprecated in 1.0 and beyond, but dropped completely.  It appears to be 
replaced by MessageContext.setTargetService(String tserv).  However, after this 
change is made the request chain is not invoked (this worked in beta-3).

I recreated the error in the nightly build date 12 MARCH 2003.

This the sample code:
+++++++++++++++++++++++++++++++++++
Service service = new Service(new QName("urn:cole", clientServ));
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endPoint);
call.setOperationName(new QName(clientServ, "sendTransaction"));

//call.setTargetService(clientServ);  Removed in Axis 1.0
call.getMessageContext().setTargetService(clientServ); 
  		  
//Send Message and get response
msg = (String) call.invoke(new Object[] { clientServ, XMLPayload });
++++++++++++++++++++++++++++++++++++++++

Where clientServ is a String that is a service named in the client-config.wsdd 
file.

Where endPoint is a String containing the URL of the service.

This is the client-config.wsdd:

+++++++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" 
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

 <service name="TransactionBroker" provider="java:RPC">
  <parameter name="allowedMethods" value="sendTransaction"/>
  <parameter name="className"
     value="com.my.webservices.TransactionBroker"/>
 </service>

<!-- Transaction Broker w/ DS -->
 <service name="TransactionBrokerDS" provider="java:RPC">
   <requestFlow>
    <handler name="signer" type="java:com.my.dsig.Signer">
     <parameter name="keyStore" value="client.jks"/>
     <parameter name="keyPswd" value="pass01"/>
     <parameter name="keyAlias" value="signer"/>
     <parameter name="keyStorePswd" value="pass01"/>
    </handler>
   </requestFlow>
   <parameter name="allowedMethods" value="sendTransaction"/>
   <parameter name="className" 
       value="com.my.webservices.TransactionBroker"/>
 </service>
 <!-- TransactionBroker w Authentication and Authorization -->
 <service name="TransactionBrokerAU" provider="java:RPC">  
   <requestFlow>
     <handler name="authenticate"
        type="java:com.my.authenticator.Authenticate">   
       <parameter name="LOGONID" value="Authorized"/>
       <parameter name="LOGONPASSWORD" value="UserPassword"/>
     </handler>
    </requestFlow>
   <parameter name="allowedMethods" value="sendTransaction"/>
   <parameter name="className"
       value="com.my.webservices.TransactionBroker"/>
 </service>
 <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
 <transport name="local"
     pivot="java:org.apache.axis.transport.local.LocalSender"/>
</deployment>

+++++++++++++++++