geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fish4trout <mho...@netscape.net>
Subject Geronimo, JAX WS, JAXB
Date Thu, 18 Sep 2008 19:19:53 GMT

I am new to JAX WS and Geronimo but am having a difficult time with the XML
mapping for a simple POJO Web Service that returns String[].

Here is the code:
--------------------------------------
package com.praxis.webservice.jaxws.reportmanager;

import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

@WebService(name="ReportManagerPortType",
        targetNamespace = "http://report.webservices.praxis.com")
public interface ReportManger {

	@WebResult(name="reportName")
	public String getReportName(@WebParam int id);
	@WebResult(name="reportIDs")
	public String[] searchByID(@WebParam String iD);
	@WebResult(name="report")
	public Report getReport(@WebParam int id);
}

----------------------------------------------

package com.praxis.webservice.jaxws.reportmanager;

import java.util.ArrayList;

import javax.jws.WebService;

@WebService(serviceName = "ReportManger",
        portName = "ReportMangerPort",
        endpointInterface =
"com.praxis.webservice.jaxws.reportmanager.ReportManger",
        targetNamespace = "http://report.webservices.praxis.com")
public class ReportManagerService implements ReportManger {

	public String getReportName(int id) {
		return "Got report";
	}

	public String[] searchByID(String id) {
		ArrayList<String> res = new ArrayList<String>();
		res.add(new String("1"));
		res.add(new String("10"));
		return res.toArray(new String[0]);
	}

	public Report getReport(int id) {
		return new Report(1,"Test Report");
	}

}

-------------------------------------------------------------

The service deploys to Geronimo "getReportName" and "getReport" work as
expected.
The "searchByID" call always returns an array of size 1 with "" as the
string.

The snippet of the xsd from the Geronimo server descripes the return element
as:

------------

<xs:complexType name="searchByIDResponse">
           <xs:sequence>
                   <xs:element maxOccurs="unbounded" minOccurs="0"
name="reportIDs" type="xs:string"/>
            </xs:sequence>
</xs:complexType>

------------------

However the soap message body returned from the call contains this:

---------------------
<soapenv:Body>
      <searchByIPResponse
xmlns:dlwmin="http://report.webservices.praxis.com">
          <reportIDs>
               <item>1</item> 
               <item>10</item> 
          </reportIDs>
     </searchByIPResponse>
 </soapenv:Body>
-----------------------

I have used the identical code for the Java classes and deployed the service
to a JBoss server. Although the xsd description is similar to the Geronimo
xsd the JBoss server returns this:
-----------------
<soapenv:Body>
      <searchByIPResponse
xmlns:dlwmin="http://report.webservices.praxis.com">
          <reportIDs>1</reportIDs> 
           <reportIDs>10</reportIDs>          
     </searchByIPResponse>
 </soapenv:Body>

Does anyone have a suggestion as to what I may be doing wrong?



-- 
View this message in context: http://www.nabble.com/Geronimo%2C-JAX-WS%2C-JAXB-tp19559399s134p19559399.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Mime
View raw message