0 Replies Latest reply on Aug 20, 2002 3:36 PM by arvindbc

    AXIS, Jboss,EJB

    arvindbc

      I have jboss-2.4.6_Tomcat-4.0.3 and axis beta2 integrated into this for webservices.
      I am trying to make use of an EJB deployed on JBoss as my provider.WSDD file for my service is as follows....

      ------------------ WSDD - First -------------------------------------
      <deployment xmlns="http://xml.apache.org/axis/wsdd/"
      xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
      xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" >











      ------------------ END WSDD - First -------------------------------------
      ---------------------- NOTE ---------------------------------------
      Deploying the webservice using above deployment descriptors gives me following WSDL file.It may be noted that target namespace as in
      the line targetNamespace="http://framework.omniconnect.sungard.com">
      is supposed to be "com.sungard.omniconnect.framework".I think the problem is due to not providing a bean mapping for my custom beans(I had faced this problem before).
      ---------------------- END NOTE ---------------------------------------

      ------------------ WSDL - First -------------------------------------
      <?xml version="1.0" encoding="UTF-8" ?>
      - <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" xmlns:tns2="http://ejb.javax" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns1="http://framework.omniconnect.sungard.com" xmlns:impl="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB-impl" xmlns:intf="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
      -
      -
      -
      -
      -
      -









      -
      -










      -
      -






      -
      -
      -
      -









      -
      -









      -
      -








      -
      -






      -
      -








      -
      -
      -
      -
      <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:double[]" />



      -
      -
      -
      <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]" />



      -
      -
      -
      <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns1:OmniMessage[]" />




      -
      -



      -



      -




      -



      - <wsdl:message name="isIdenticalRequest">
      <wsdl:part name="in0" type="tns2:EJBObject" />
      </wsdl:message>
      <wsdl:message name="getPrimaryKeyRequest" />
      - <wsdl:message name="executeRequest">
      <wsdl:part name="in0" type="tns1:OmniDataCalcInputBean" />
      </wsdl:message>
      - <wsdl:message name="getHandleResponse">
      <wsdl:part name="return" type="tns2:Handle" />
      </wsdl:message>
      <wsdl:message name="RemoveException" />
      - <wsdl:message name="isIdenticalResponse">
      <wsdl:part name="return" type="xsd:boolean" />
      </wsdl:message>
      <wsdl:message name="getEJBHomeRequest" />
      - <wsdl:message name="executeResponse">
      <wsdl:part name="return" type="tns1:OmniDataCalcOutputBean" />
      </wsdl:message>
      <wsdl:message name="removeRequest" />
      - <wsdl:message name="getPrimaryKeyResponse">
      <wsdl:part name="return" type="xsd:anyType" />
      </wsdl:message>
      <wsdl:message name="removeResponse" />
      - <wsdl:message name="getEJBHomeResponse">
      <wsdl:part name="return" type="tns2:EJBHome" />
      </wsdl:message>
      <wsdl:message name="getHandleRequest" />
      - <wsdl:portType name="OmniConnectCalc">
      - <wsdl:operation name="execute" parameterOrder="in0">
      <wsdl:input message="intf:executeRequest" />
      <wsdl:output message="intf:executeResponse" />
      </wsdl:operation>
      - <wsdl:operation name="remove">
      <wsdl:input message="intf:removeRequest" />
      <wsdl:output message="intf:removeResponse" />
      <wsdl:fault name="RemoveException" message="intf:RemoveException" />
      </wsdl:operation>
      - <wsdl:operation name="getEJBHome">
      <wsdl:input message="intf:getEJBHomeRequest" />
      <wsdl:output message="intf:getEJBHomeResponse" />
      </wsdl:operation>
      - <wsdl:operation name="getHandle">
      <wsdl:input message="intf:getHandleRequest" />
      <wsdl:output message="intf:getHandleResponse" />
      </wsdl:operation>
      - <wsdl:operation name="getPrimaryKey">
      <wsdl:input message="intf:getPrimaryKeyRequest" />
      <wsdl:output message="intf:getPrimaryKeyResponse" />
      </wsdl:operation>
      - <wsdl:operation name="isIdentical" parameterOrder="in0">
      <wsdl:input message="intf:isIdenticalRequest" />
      <wsdl:output message="intf:isIdenticalResponse" />
      </wsdl:operation>
      </wsdl:portType>
      - <wsdl:binding name="OmniConnectCalcJBOSSEJBSoapBinding" type="intf:OmniConnectCalc">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
      - <wsdl:operation name="execute">
      <wsdlsoap:operation soapAction="" />
      - <wsdl:input>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="execute" />
      </wsdl:input>
      - <wsdl:output>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:output>
      </wsdl:operation>
      - <wsdl:operation name="remove">
      <wsdlsoap:operation soapAction="" />
      - <wsdl:input>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="remove" />
      </wsdl:input>
      - <wsdl:output>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:output>
      </wsdl:operation>
      - <wsdl:operation name="getEJBHome">
      <wsdlsoap:operation soapAction="" />
      - <wsdl:input>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="getEJBHome" />
      </wsdl:input>
      - <wsdl:output>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:output>
      </wsdl:operation>
      - <wsdl:operation name="getHandle">
      <wsdlsoap:operation soapAction="" />
      - <wsdl:input>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="getHandle" />
      </wsdl:input>
      - <wsdl:output>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:output>
      </wsdl:operation>
      - <wsdl:operation name="getPrimaryKey">
      <wsdlsoap:operation soapAction="" />
      - <wsdl:input>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="getPrimaryKey" />
      </wsdl:input>
      - <wsdl:output>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:output>
      </wsdl:operation>
      - <wsdl:operation name="isIdentical">
      <wsdlsoap:operation soapAction="" />
      - <wsdl:input>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="isIdentical" />
      </wsdl:input>
      - <wsdl:output>
      <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
      - <wsdl:service name="OmniConnectCalcService">
      - <wsdl:port name="OmniConnectCalcJBOSSEJB" binding="intf:OmniConnectCalcJBOSSEJBSoapBinding">
      <wsdlsoap:address location="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

      ------------------ END WSDL - First ---------------------------------

      ---------------------- NOTE ---------------------------------------
      So I added bean mapping for my custom beans and redeployed my webservice.Doing so resulted in worse WSDL file.Following are the WSDD and WSDL file used .Can one please point or suggest anything I am doing wrong......
      ---------------------- END NOTE ---------------------------------------


      ---------------------- WSDD - with bean mapping------------------------
      <deployment xmlns="http://xml.apache.org/axis/wsdd/"
      xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
      xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" >








      <beanMapping qname="ns:OmniDataCalcInputBean"
      xmlns:ns="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniDataCalcInputBean"/>
      <beanMapping qname="ns1:OmniDataCalcOutputBean"
      xmlns:ns1="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniDataCalcOutputBean"/>




      <beanMapping qname="ns2:OmniStandardOutputBean"
      xmlns:ns2="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniStandardOutputBean"/>

      <beanMapping qname="ns3:OmniStandardInputBean"
      xmlns:ns3="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniStandardInputBean"/>

      <beanMapping qname="ns4:OmniMessage"
      xmlns:ns4="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniMessage"/>

      <beanMapping qname="ns5:OmniHalogenInfo"
      xmlns:ns5="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniHalogenInfo"/>

      <beanMapping qname="ns5:OmniParticipantIdentifier"
      xmlns:ns5="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniParticipantIdentifier"/>

      <beanMapping qname="ns5:OmniPerformanceTimes"
      xmlns:ns5="com.sungard.omniconnect.framework"
      languageSpecificType="java:com.sungard.omniconnect.framework.OmniPerformanceTimes"/>

      <beanMapping qname="ns6:PrintWriter"
      xmlns:ns6="java.io"
      languageSpecificType="java:java.io.PrintWriter"/>


      ---------------------- END WSDD - with bean mapping--------------------

      ---------------------- WSDL - with bean mapping--------------------
      <?xml version="1.0" encoding="UTF-8" ?>
      - <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:intf="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" xmlns:impl="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB-impl" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:portType name="OmniConnectCalc" />
      - <wsdl:binding name="OmniConnectCalcJBOSSEJBSoapBinding" type="intf:OmniConnectCalc">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
      </wsdl:binding>
      - <wsdl:service name="OmniConnectCalcService">
      - <wsdl:port name="OmniConnectCalcJBOSSEJB" binding="intf:OmniConnectCalcJBOSSEJBSoapBinding">
      <wsdlsoap:address location="http://localhost:8080/axis/services/OmniConnectCalcJBOSSEJB" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
      ---------------------- END WSDL - with bean mapping--------------------


      Thanks!


      Arvind Chavar