beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xibin Zeng (JIRA)" <beehive-...@incubator.apache.org>
Subject [jira] Created: (BEEHIVE-600) Document Literal Wrapped webservice missing methods in wsdl
Date Wed, 04 May 2005 00:14:04 GMT
Document Literal Wrapped webservice missing methods in wsdl
-----------------------------------------------------------

         Key: BEEHIVE-600
         URL: http://issues.apache.org/jira/browse/BEEHIVE-600
     Project: Beehive
        Type: Test
  Components: Web Services (181)  
    Versions: V1Alpha    
 Environment: N/A
    Reporter: Xibin Zeng


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 {
    Employee employee = employeeHolder.value;
    Name oldName = employee.getName();
    Name newName = new Name(oldName.getLastName(), oldName.getFirstName());
    employee.setName(newName);
    return 0;
  }

  @WebMethod
  public boolean changeDepartment(@WebParam(name="changedepartment", header=true, mode=WebParam.Mode.INOUT)
EmployeeHolder employeeHolder) throws DepartmentException {
    Employee employee = employeeHolder.value;
    Department department = new Department("Docs", "NY");
    employee.setDept(department);
    return true;
  }

  @WebMethod
  public double changeSalary(@WebParam(name="changesalary", header=true, mode=WebParam.Mode.INOUT)
EmployeeHolder employeeHolder) throws SalaryException {
    Employee employee = employeeHolder.value;
    Salary oldSalary = employee.getSalary();
    Salary newSalary = new Salary(oldSalary.getSalary() + 5000, oldSalary.getBonusPercentage()
+ 5);
    employee.setSalary(newSalary);
    return 0.0;
  }

  @WebMethod
  public float changeAddress(@WebParam(name="changeaddress", header=true, mode=WebParam.Mode.INOUT)
EmployeeHolder employeeHolder) throws AddressException {
    Employee employee = employeeHolder.value;
    Address oldAddress = employee.getAddress();
    Address newAddress = new Address(oldAddress.getEmail(), oldAddress.getPhone(), oldAddress.getStreet(),
oldAddress.getCity(),
      oldAddress.getState(), "99999", oldAddress.getCountry());
    employee.setAddress(newAddress);
    return 0.0f;
  }

  /*
  @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 = {"change", "successful"};
    return wrapresult;
  }
 
  @WebMethod
  public List changeType(@WebParam(name="changetype", header=true, mode=WebParam.Mode.INOUT)
EmployeeHolder employeeHolder) throws TypeException {
    Employee employee = employeeHolder.value;
    int oldType = employee.getType();
    int newType = (oldType + 1) % 3;
    employee.setType(newType);
    return new ArrayList();
    }*/

  @WebMethod
  public Employee returnEmployee(@WebParam(name="returnemployee", mode=WebParam.Mode.IN) Employee
employee) {
    return 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) {
    Name name = new Name("J2EE", "User");
    Department dept = new Department("Eng", "SF");
    Salary salary = new Salary(100000, 15);
    Address address = new Address("j2eeuser@bea.com", "415-123-4567", "Montgomery Street",
"SF", "CA", "94104", "U.S.");
    String title = "Senior Software Engineer";
    int type = EmployeeType.PERMANENT;
    Employee employee = new Employee(name, dept, salary, address, title, type);
    employeeHolder.value = employee;
    return 0;
  }

  @WebMethod
  public int throwNameException(int foo) throws NameException { 
    throw new NameException();
  }

  @WebMethod
  public int throwDepartmentException(int foo) throws DepartmentException {
    throw new DepartmentException();
  }

  @WebMethod
  public int throwSalaryException(int foo) throws SalaryException {
    throw new SalaryException();
  }

  @WebMethod
  public int throwAddressException(int foo) throws AddressException {
    throw new AddressException();
  }

  @WebMethod
  public int throwTitleException(int foo) throws TitleException {
    throw new TitleException();
  }

  @WebMethod
  public int throwTypeException(int foo) throws TypeException {
    throw new TypeException();
  }

}


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


Mime
View raw message