[jbossws-issues] [JBoss JIRA] Commented: (JBWS-1390) Duplicate names in ejb 3.0 exposed web service generated wsdl

Sureshbabu Thyvalappil (JIRA) jira-events at jboss.com
Thu Nov 23 11:19:41 EST 2006


    [ http://jira.jboss.com/jira/browse/JBWS-1390?page=comments#action_12347624 ] 
            
Sureshbabu Thyvalappil commented on JBWS-1390:
----------------------------------------------

Thanks. Your email says

We're using jbossws1.0.x for returning and passing
complex object types. But accoring to the text
above(1), it supports operations with primitive types.
I'm confused. We're developing web services using
complex types in jbossws1.0.x (ejb 3.0 exposed WS) and
scheduled to go to production next month. 
You mentioned that it is a preview implementation.
Does that mean that it is not production ready??
Please advise.

Suresh

--- "Thomas Diesler (JIRA)" <jira-events at jboss.com>
wrote:

http://wiki.jboss.org/wiki/Wiki.jsp?page=JBWSFAQSupportForJSR181
-------------------------------------------------------------
//@PortComponent(transportGuarantee="NONE",contextRoot="/ReportService1",urlPattern="/ReportService1")
"file://localhost/home/suresh/temp/ReportServiceEndPoint_handler.xml")
=== message truncated ===



 
____________________________________________________________________________________
Want to start your own business?
Learn how on Yahoo! Small Business.
http://smallbusiness.yahoo.com/r-index


> Duplicate names in ejb 3.0 exposed web service generated wsdl
> -------------------------------------------------------------
>
>                 Key: JBWS-1390
>                 URL: http://jira.jboss.com/jira/browse/JBWS-1390
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: jbossws-1.0.4
>         Environment: JBOSS 4.0.4 GA patch1 installer with ejb3 option.  Exposed ejb 3.0 as web service.
>            Reporter: Sureshbabu Thyvalappil
>
> I've exposed a ejb 3.0 as a web service using annotations in JBOSS 4.0.4 patch1 with ejb 3.0. 
> Look for SortingInfo definition in the wsdl which appears 2 times.
> This is a real issue for us at this point.  SortingInfo which appears 2 times in wsdl is returned by getReport() method also included in ReportColumnsBean.
> The ejb 3.0 class is as follows: 
> @WebService (name="ReportServiceEndPoint",
>   targetNamespace="http://tsa/services", serviceName="ReportService1")
> @SOAPBinding (style=SOAPBinding.Style.RPC)
> //@PortComponent(transportGuarantee="NONE",contextRoot="/ReportService1",urlPattern="/ReportService1")
> @Stateless
> //@HandlerChain(name = "ReportServiceEndPoint_handlerChain", file = "file://localhost/home/suresh/temp/ReportServiceEndPoint_handler.xml")
> public class ReportService1 implements Report
> {
>     @WebMethod
>     @TransactionAttribute (javax.ejb.TransactionAttributeType.SUPPORTS)
>     public SortingInfo getReport () throws ServiceException
>     {
>         SortingInfo sortingInfo = new SortingInfo();
>         //sortingInfo.setSortingType(SortingTypes.ASC);
>         //sortingInfo.setWeekType(WeekEnumTypes.Monday);
>         return sortingInfo;
>     }
>     @WebMethod
>  @TransactionAttribute (javax.ejb.TransactionAttributeType.SUPPORTS)
>     public ReportColumnsBean getReportColumnsBean(int[] accounts) throws java.rmi.RemoteException
>     {
>         System.out.println("IN getReportColumnsBean");
>         ReportColumnsBean rb = new ReportColumnsBean();
>         return rb;
>     }
> }
> and definition of SortingInfo.java and ReportColumnsBean.java are below.
> public class SortingInfo implements java.io.Serializable
> {
>     public SortingInfo()
>     {
>     }
> /* Suresh Comment
>     public SortingTypes getSortingType()
>     {
>         return sortingType;
>     }
>     public void setSortingType(SortingTypes aSortingType)
>     {
>         sortingType = aSortingType;
>     }
>  */
>     public String getName()
>     {
>         return theName;
>     }
>     public void setName(String aName)
>     {
>         theName = aName;
>     }
>     private String theName = null;
> }
> public class ReportColumnsBean implements java.io.Serializable
> {
>     public ReportColumnsBean()
>     {
>     }
>     public ColumnInfo[] getColumns()
>     { return theColumns; }
>     public void setColumns(ColumnInfo[] aColumns)
>     {
>         theColumns = aColumns;
>     }
>     public ProductInfo[] getProducts()
>     { return theProducts; }
>     public void setProducts(ProductInfo[] aProducts)
>     {
>         theProducts = aProducts;
>     }
>     public SortingInfo[] getSorting()
>     { return theSorting; }
>     public void setSorting(SortingInfo[] aSorting)
>     {
>         theSorting = aSorting;
>     }
>     private ColumnInfo[] theColumns;
>     private ProductInfo[] theProducts;
>     private SortingInfo[] theSorting;
> }
> Here is the wsdl...
> -
> -
> 	<definitions name="ReportService1" targetNamespace="http://tsa/services">
> -
> 	<types>
> -
> 	<schema elementFormDefault="qualified" targetNamespace="http://tsa/services">
> <import namespace="http://facade.tsa.com/jaws"/>
> -
> 	<complexType name="ReportColumnsBean">
> -
> 	<sequence>
> <element maxOccurs="unbounded" minOccurs="0" name="columns" nillable="true" type="ns2:ColumnInfo"/>
> <element maxOccurs="unbounded" minOccurs="0" name="products" nillable="true" type="ns2:ProductInfo"/>
> <element maxOccurs="unbounded" minOccurs="0" name="sorting" nillable="true" type="ns2:SortingInfo"/>
> </sequence>
> </complexType>
> -
> 	<complexType name="ServiceException">
> -
> 	<sequence>
> <element name="errorString" nillable="true" type="string"/>
> </sequence>
> </complexType>
> -
> 	<complexType name="SortingInfo">
> -
> 	<sequence>
> <element name="name" nillable="true" type="string"/>
> </sequence>
> </complexType>
> -
> 	<complexType name="int.Array">
> -
> 	<sequence>
> <element maxOccurs="unbounded" minOccurs="0" name="value" type="int"/>
> </sequence>
> </complexType>
> <element name="ServiceException" type="tns:ServiceException"/>
> </schema>
> -
> 	<schema elementFormDefault="qualified" targetNamespace="http://facade.tsa.com/jaws">
> <import namespace="http://tsa/services"/>
> -
> 	<complexType name="ColumnInfo">
> -
> 	<sequence>
> <element name="id" type="int"/>
> <element name="name" nillable="true" type="string"/>
> </sequence>
> </complexType>
> -
> 	<complexType name="ProductInfo">
> -
> 	<sequence>
> <element maxOccurs="unbounded" minOccurs="0" name="ids" type="int"/>
> <element name="name" nillable="true" type="string"/>
> </sequence>
> </complexType>
> -
> 	<complexType name="SortingInfo">
> -
> 	<sequence>
> <element name="name" nillable="true" type="string"/>
> </sequence>
> </complexType>
> </schema>
> </types>
> -
> 	<message name="ReportServiceEndPoint_getReportResponse">
> <part name="result" type="tns:SortingInfo"/>
> </message>
> <message name="ReportServiceEndPoint_getReport"/>
> -
> 	<message name="ReportServiceEndPoint_getReportColumnsBeanResponse">
> <part name="result" type="tns:ReportColumnsBean"/>
> </message>
> -
> 	<message name="ReportServiceEndPoint_getReportColumnsBean">
> <part name="int_1" type="tns:int.Array"/>
> </message>
> -
> 	<message name="ServiceException">
> <part element="tns:ServiceException" name="ServiceException"/>
> </message>
> -
> 	<portType name="ReportServiceEndPoint">
> -
> 	<operation name="getReport">
> <input message="tns:ReportServiceEndPoint_getReport"/>
> <output message="tns:ReportServiceEndPoint_getReportResponse"/>
> <fault message="tns:ServiceException" name="ServiceException"/>
> </operation>
> -
> 	<operation name="getReportColumnsBean" parameterOrder="int_1">
> <input message="tns:ReportServiceEndPoint_getReportColumnsBean"/>
> <output message="tns:ReportServiceEndPoint_getReportColumnsBeanResponse"/>
> </operation>
> </portType>
> -
> 	<binding name="ReportServiceEndPointBinding" type="tns:ReportServiceEndPoint">
> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
> -
> 	<operation name="getReport">
> <soap:operation soapAction=""/>
> -
> 	<input>
> <soap:body namespace="http://tsa/services" use="literal"/>
> </input>
> -
> 	<output>
> <soap:body namespace="http://tsa/services" use="literal"/>
> </output>
> -
> 	<fault name="ServiceException">
> <soap:fault name="ServiceException" use="literal"/>
> </fault>
> </operation>
> -
> 	<operation name="getReportColumnsBean">
> <soap:operation soapAction=""/>
> -
> 	<input>
> <soap:body namespace="http://tsa/services" use="literal"/>
> </input>
> -
> 	<output>
> <soap:body namespace="http://tsa/services" use="literal"/>
> </output>
> </operation>
> </binding>
> -
> 	<service name="ReportService1">
> -
> 	<port binding="tns:ReportServiceEndPointBinding" name="ReportServiceEndPointPort">
> <soap:address location="http://whittier:8080/ReportService1/ReportService1"/>
> </port>
> </service>
> </definitions>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbossws-issues mailing list