Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
V1Alpha, V1Beta, v1m1
-
None
-
None
-
N/A
Description
This bug might be related to Beehive-599.
A webservice deployed through Beehive generated a wsdl that is missing methods for wrapped types.
For example, generated wsdl contains:
<complexType name="Employee">
<sequence>
<element name="value" nillable="true" type="impl:Employee"/>
</sequence>
</complexType>
What is expected by TCK:
<xs:complexType name="Employee">
<xs:sequence>
<xs:element name="Name" type="java1:Name"/>
<xs:element name="Dept" type="java1:Department"/>
<xs:element name="Salary" type="java1:Salary"/>
<xs:element name="Address" type="java1:Address"/>
<xs:element name="Title" type="xs:string"/>
<xs:element name="Type" type="xs:int"/>
</xs:sequence>
The webservice in question is:
package com.bea.ts.tests.complex.doclit.wrap;
import com.bea.ts.tests.utils.*;
import com.bea.ts.tests.utils.holders.*;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService
@SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL, parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)
public class ComplexDocLitWrapWebService {
@WebMethod
public int changeName(@WebParam(name="changename", header=true, mode=WebParam.Mode.INOUT) EmployeeHolder employeeHolder) throws NameException
@WebMethod
public boolean changeDepartment(@WebParam(name="changedepartment", header=true, mode=WebParam.Mode.INOUT) EmployeeHolder employeeHolder) throws DepartmentException
@WebMethod
public double changeSalary(@WebParam(name="changesalary", header=true, mode=WebParam.Mode.INOUT) EmployeeHolder employeeHolder) throws SalaryException
@WebMethod
public float changeAddress(@WebParam(name="changeaddress", header=true, mode=WebParam.Mode.INOUT) EmployeeHolder employeeHolder) throws AddressException
/*
@WebMethod
public String[] changeTitle(@WebParam(name="changetitle", header=true, mode=WebParam.Mode.INOUT) EmployeeHolder employeeHolder) throws TitleException {
Employee employee = employeeHolder.value;
String oldTitle = employee.getTitle();
String newTitle = "Senior " + oldTitle;
employee.setTitle(newTitle);
String[] wrapresult =
;
return wrapresult;
}
@WebMethod
public List changeType(@WebParam(name="changetype", header=true, mode=WebParam.Mode.INOUT) EmployeeHolder employeeHolder) throws TypeException
*/
@WebMethod
public Employee returnEmployee(@WebParam(name="returnemployee", mode=WebParam.Mode.IN) Employee employee)
@WebMethod
public Employee returnEmployeeHeader(@WebParam(name="returnemployeeheader", header=true, mode=WebParam.Mode.IN) Employee employee) { return employee; }
@WebMethod
public int newEmployee(@WebParam(name="newemployee", header=true, mode=WebParam.Mode.OUT) EmployeeHolder employeeHolder)
@WebMethod
public int throwNameException(int foo) throws NameException
@WebMethod
public int throwDepartmentException(int foo) throws DepartmentException
@WebMethod
public int throwSalaryException(int foo) throws SalaryException
@WebMethod
public int throwAddressException(int foo) throws AddressException
@WebMethod
public int throwTitleException(int foo) throws TitleException
@WebMethod
public int throwTypeException(int foo) throws TypeException
}