antelder    2002/11/22 01:52:19

  Modified:    java/test/docStyle NWBankTest.java ZipCodeAxisTest.java
               java/test/docStyle/wsifservice nwBank.wsdl
                        zipCodeResolver.wsdl
               java/src/org/apache/wsif/providers/soap/apacheaxis
                        WSIFOperation_ApacheAxis.java
               java/src/org/apache/wsif/util/jms JMS2HTTPBridge.java
  Log:
  Change AXIS document style to work with AXIS over JMS
  
  Revision  Changes    Path
  1.3       +19 -3     xml-axis-wsif/java/test/docStyle/NWBankTest.java
  
  Index: NWBankTest.java
  ===================================================================
  RCS file: /home/cvs/xml-axis-wsif/java/test/docStyle/NWBankTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NWBankTest.java   15 Nov 2002 17:27:53 -0000      1.2
  +++ NWBankTest.java   22 Nov 2002 09:52:18 -0000      1.3
  @@ -98,9 +98,14 @@
                super(name);
        }
   
  -     public static void main(String[] args) {
  -             junit.textui.TestRunner.run(suite());
  -     }
  +    public static void main(String[] args) {
  +        TestUtilities.startListeners(
  +            TestUtilities.ADDRESSBOOK_LISTENER
  +                | TestUtilities.ASYNC_LISTENER
  +                | TestUtilities.NATIVEJMS_LISTENER);
  +        junit.textui.TestRunner.run(suite());
  +        TestUtilities.stopListeners();
  +    }
   
        public static Test suite() {
                return new TestSuite(NWBankTest.class);
  @@ -112,7 +117,18 @@
   
        public void testDynamicAxis() {
                doitDyn("pwspNoCentrbankCurRatesSoap", "axis");
  +     }
  +
  +     public void testStubsAxis() {
        doitStub("pwspNoCentrbankCurRatesSoap", "axis"); 
  +     }
  +
  +     public void testDynJMS() {
  +             doitDyn("pwspNoCentrbankCurRatesSoapJMS", "axis");
  +     }
  +
  +     public void testStubsAxisJMS() {
  +     doitStub("pwspNoCentrbankCurRatesSoapJMS", "axis"); 
        }
   
        private void doitDyn(String portName, String protocol) {
  
  
  
  1.3       +12 -8     xml-axis-wsif/java/test/docStyle/ZipCodeAxisTest.java
  
  Index: ZipCodeAxisTest.java
  ===================================================================
  RCS file: /home/cvs/xml-axis-wsif/java/test/docStyle/ZipCodeAxisTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ZipCodeAxisTest.java      21 Nov 2002 11:33:20 -0000      1.2
  +++ ZipCodeAxisTest.java      22 Nov 2002 09:52:18 -0000      1.3
  @@ -87,19 +87,23 @@
   public class ZipCodeAxisTest extends TestCase {
        String wsdlLocation =
                TestUtilities.getWsdlPath("java\\test\\docStyle\\wsifservice")
  +            + "zipCodeResolver.wsdl";
   //                     + "zipCode.wsdl";
   //            + "zipCodeLocal.wsdl";
  -            + "zipCodeResolver.wsdl";
  -//            + "zipCodeJMS.wsdl";
   //             
"http://webservices.eraserver.net/zipcoderesolver/zipcoderesolver.asmx?WSDL";;
   
        public ZipCodeAxisTest(String name) {
                super(name);
        }
   
  -     public static void main(String[] args) {
  -             junit.textui.TestRunner.run(suite());
  -     }
  +    public static void main(String[] args) {
  +        TestUtilities.startListeners(
  +            TestUtilities.ADDRESSBOOK_LISTENER
  +                | TestUtilities.ASYNC_LISTENER
  +                | TestUtilities.NATIVEJMS_LISTENER);
  +        junit.textui.TestRunner.run(suite());
  +        TestUtilities.stopListeners();
  +    }
   
        public static Test suite() {
                return new TestSuite(ZipCodeAxisTest.class);
  @@ -121,9 +125,9 @@
                doitMessaging("ZipCodeResolverSoap", "axis");
        }
   
  -//   public void testDynamicAxisJMS() {
  -//           doitStub("ZipCodeResolverSoapJMS", "axis");
  -//   }
  +     public void testDyn() {
  +             doitStub("ZipCodeResolverSoapJMS", "axis");
  +     }
   
        private void doitDyn(String portName, String protocol) {
                if (portName.toUpperCase().indexOf("JMS") != -1
  
  
  
  1.2       +25 -1     xml-axis-wsif/java/test/docStyle/wsifservice/nwBank.wsdl
  
  Index: nwBank.wsdl
  ===================================================================
  RCS file: /home/cvs/xml-axis-wsif/java/test/docStyle/wsifservice/nwBank.wsdl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- nwBank.wsdl       15 Nov 2002 16:46:45 -0000      1.1
  +++ nwBank.wsdl       22 Nov 2002 09:52:18 -0000      1.2
  @@ -1,5 +1,5 @@
   <?xml version="1.0" encoding="utf-8"?>
  -<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; xmlns:s0="http/www.pointwsp.net/ws/finance" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
targetNamespace="http/www.pointwsp.net/ws/finance" 
xmlns="http://schemas.xmlsoap.org/wsdl/";>
  +<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; xmlns:s0="http/www.pointwsp.net/ws/finance" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
targetNamespace="http/www.pointwsp.net/ws/finance" 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:jms="http://schemas.xmlsoap.org/wsdl/jms/";>
     <types>
       <s:schema elementFormDefault="qualified" 
targetNamespace="http/www.pointwsp.net/ws/finance">
         <s:element name="GetRatesXML">
  @@ -118,6 +118,20 @@
   
       </operation>
     </binding>
  +  <binding name="pwspNoCentrbankCurRatesSoapJMS" 
type="s0:pwspNoCentrbankCurRatesSoap">
  +    <soap:binding transport="http://schemas.xmlsoap.org/soap/jms"; style="document" 
/>
  +    <operation name="GetRatesXML">
  +      <soap:operation soapAction="http/www.pointwsp.net/ws/finance/GetRatesXML" 
style="document" />
  +      <input>
  +        <soap:body use="literal" />
  +        <jms:propertyValue name="SOAPAction" type="s:string" 
  +            value="http/www.pointwsp.net/ws/finance/GetRatesXML"/> 
  +      </input>
  +      <output>
  +        <soap:body use="literal" />
  +      </output>
  +    </operation>
  +  </binding>
     <service name="pwspNoCentrbankCurRates">
       <documentation>Shows norwegian central bank daily rates</documentation>
       <port name="pwspNoCentrbankCurRatesSoap" 
binding="s0:pwspNoCentrbankCurRatesSoap">
  @@ -129,6 +143,16 @@
       </port>
       <port name="pwspNoCentrbankCurRatesHttpPost" 
binding="s0:pwspNoCentrbankCurRatesHttpPost">
         <http:address location="http://server1.pointwsp.net/ws/finance/currency.asmx"; 
/>
  +    </port>
  +    <port name="pwspNoCentrbankCurRatesSoapJMS" 
binding="s0:pwspNoCentrbankCurRatesSoapJMS">
  +      <jms:address jndiDestinationName="SoapJmsAddressBookQueue"
  +                   destinationStyle="queue"
  +                   jndiConnectionFactoryName="WSIFSampleQCF"
  +                   
initialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
  +                   jndiProviderURL="file:///JNDI-Directory">
  +            <jms:propertyValue name="ServiceURL" type="s:string" 
  +                value="http://server1.pointwsp.net/ws/finance/currency.asmx"/> 
  +      </jms:address>
       </port>
     </service>
   </definitions>
  
  
  
  1.2       +63 -1     
xml-axis-wsif/java/test/docStyle/wsifservice/zipCodeResolver.wsdl
  
  Index: zipCodeResolver.wsdl
  ===================================================================
  RCS file: 
/home/cvs/xml-axis-wsif/java/test/docStyle/wsifservice/zipCodeResolver.wsdl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- zipCodeResolver.wsdl      21 Nov 2002 11:33:20 -0000      1.1
  +++ zipCodeResolver.wsdl      22 Nov 2002 09:52:18 -0000      1.2
  @@ -1,5 +1,5 @@
   <?xml version="1.0" encoding="utf-8"?>
  -<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; 
xmlns:s0="http://webservices.eraserver.net/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
targetNamespace="http://webservices.eraserver.net/"; 
xmlns="http://schemas.xmlsoap.org/wsdl/";>
  +<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:s="http://www.w3.org/2001/XMLSchema"; 
xmlns:s0="http://webservices.eraserver.net/"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"; 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
targetNamespace="http://webservices.eraserver.net/"; 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:jms="http://schemas.xmlsoap.org/wsdl/jms/";>
     <types>
       <s:schema elementFormDefault="qualified" 
targetNamespace="http://webservices.eraserver.net/";>
         <s:element name="FullZipCode">
  @@ -332,6 +332,56 @@
         </output>
       </operation>
     </binding>
  +  <binding name="ZipCodeResolverSoapJMS" type="s0:ZipCodeResolverSoap">
  +    <soap:binding transport="http://schemas.xmlsoap.org/soap/jms"; style="document" 
/>
  +    <operation name="FullZipCode">
  +      <soap:operation soapAction="http://webservices.eraserver.net/FullZipCode"; 
style="document" />
  +      <input>
  +        <soap:body use="literal" />
  +      </input>
  +      <output>
  +        <soap:body use="literal" />
  +      </output>
  +    </operation>
  +    <operation name="ShortZipCode">
  +      <soap:operation soapAction="http://webservices.eraserver.net/ShortZipCode"; 
style="document" />
  +      <input>
  +        <soap:body use="literal" />
  +        <jms:propertyValue name="SOAPAction" type="s:string" 
  +            value="http://webservices.eraserver.net/ShortZipCode"/> 
  +      </input>
  +      <output>
  +        <soap:body use="literal" />
  +      </output>
  +    </operation>
  +    <operation name="CorrectedAddressHtml">
  +      <soap:operation 
soapAction="http://webservices.eraserver.net/CorrectedAddressHtml"; style="document" />
  +      <input>
  +        <soap:body use="literal" />
  +      </input>
  +      <output>
  +        <soap:body use="literal" />
  +      </output>
  +    </operation>
  +    <operation name="CorrectedAddressXml">
  +      <soap:operation 
soapAction="http://webservices.eraserver.net/CorrectedAddressXml"; style="document" />
  +      <input>
  +        <soap:body use="literal" />
  +      </input>
  +      <output>
  +        <soap:body use="literal" />
  +      </output>
  +    </operation>
  +    <operation name="VersionInfo">
  +      <soap:operation soapAction="http://webservices.eraserver.net/VersionInfo"; 
style="document" />
  +      <input>
  +        <soap:body use="literal" />
  +      </input>
  +      <output>
  +        <soap:body use="literal" />
  +      </output>
  +    </operation>
  +  </binding>
     <binding name="ZipCodeResolverHttpGet" type="s0:ZipCodeResolverHttpGet">
       <http:binding verb="GET" />
       <operation name="FullZipCode">
  @@ -439,6 +489,18 @@
       </port>
       <port name="ZipCodeResolverHttpPost" binding="s0:ZipCodeResolverHttpPost">
         <http:address 
location="http://webservices.eraserver.net/zipcoderesolver/zipcoderesolver.asmx"; />
  +    </port>
  +    <port name="ZipCodeResolverSoapJMS" binding="s0:ZipCodeResolverSoapJMS">
  +      <jms:address jndiDestinationName="SoapJmsAddressBookQueue"
  +                   destinationStyle="queue"
  +                   jndiConnectionFactoryName="WSIFSampleQCF"
  +                   
initialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
  +                   jndiProviderURL="file:///JNDI-Directory">
  +            <jms:propertyValue name="ServiceURL" type="s:string" 
  +                
value="http://webservices.eraserver.net/zipcoderesolver/zipcoderesolver.asmx"/> 
  +<!--            <jms:propertyValue name="ServiceURL" type="s:string" 
  +                value="http://localhost:8080/soap/servlet/rpcrouter"/> --> 
  +      </jms:address>
       </port>
     </service>
   </definitions>
  
  
  
  1.36      +10 -0     
xml-axis-wsif/java/src/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java
  
  Index: WSIFOperation_ApacheAxis.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis-wsif/java/src/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- WSIFOperation_ApacheAxis.java     21 Nov 2002 11:33:20 -0000      1.35
  +++ WSIFOperation_ApacheAxis.java     22 Nov 2002 09:52:18 -0000      1.36
  @@ -957,6 +957,16 @@
                        }
                }
   
  +             if (dest != null && inJmsPropVals != null && !inJmsPropVals.isEmpty()) 
{
  +                     checkForTimeoutProperties(inJmsPropVals, dest);
  +                     dest.setProperties(inJmsPropVals);
  +             }
  +
  +        //TODO: jms:property parts
  +
  +             setDestinationContext(dest);
  +             setCallContext(call);
  +
                if ("message".equals(style)) {
                        workedOK = doAXISMessaging(call, inMsg, outMsg, faultMsg);
                } else {
  
  
  
  1.7       +34 -1     
xml-axis-wsif/java/src/org/apache/wsif/util/jms/JMS2HTTPBridge.java
  
  Index: JMS2HTTPBridge.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis-wsif/java/src/org/apache/wsif/util/jms/JMS2HTTPBridge.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JMS2HTTPBridge.java       27 Aug 2002 10:24:07 -0000      1.6
  +++ JMS2HTTPBridge.java       22 Nov 2002 09:52:19 -0000      1.7
  @@ -88,6 +88,11 @@
   public class JMS2HTTPBridge {
       private URL httpURL = null;
       private JMS2HTTPBridgeDestination destination = null;
  +
  +    private static final ArrayList outGoingHeaders =
  +        new ArrayList(Arrays.asList(new String[] 
  +           { "SOAPAction" }));
  +
       private static final ArrayList interestingProperties =
           new ArrayList(Arrays.asList(new String[] { "JMSPriority", "JMSDeliveryMode" 
}));
       private boolean verbose;
  @@ -273,9 +278,10 @@
   
                       TransportMessage tmsg =
                           new TransportMessage(body, new SOAPContext(), new 
Hashtable());
  +                    setOutGoingHeaders(msg, tmsg); 
                       tmsg.save();
   
  -                    TransportMessage response = HTTPUtils.post(httpURL, tmsg, 
30000, null, 0);
  +                    TransportMessage response = HTTPUtils.post(getServiceURL(msg), 
tmsg, 30000, null, 0);
                       payload = 
IOUtils.getStringFromReader(response.getEnvelopeReader());
                       if (verbose)
                           System.out.println("HTTP RESPONSE IS: '" + payload + "'");
  @@ -327,4 +333,31 @@
           Trc.exit();
           return;
       }
  +
  +    private void setOutGoingHeaders(Message m, TransportMessage tmsg) {
  +     for (Iterator i = outGoingHeaders.iterator(); i.hasNext(); ) {
  +                try {
  +                       String name = (String) i.next();
  +                   String value = m.getStringProperty(name);
  +                   if (value != null && value.length() > 0 ) {
  +                      tmsg.setHeader(name, "\""+value+"\"");
  +                   }
  +                } catch (JMSException e) {
  +                       Trc.ignoredException(e);
  +                }
  +     }
  +    }
  +
  +    private URL getServiceURL(Message m) {
  +     URL serviceURL = null;
  +             try {
  +                String s = m.getStringProperty( "ServiceURL" );
  +                serviceURL = new URL(s);
  +             } catch (Exception e) {
  +                Trc.ignoredException(e);
  +                serviceURL = httpURL;
  +             }
  +             return serviceURL;
  +    }
  +
   }
  
  
  


Reply via email to