[
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(a)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