You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by SĀŽebastien Mosser <mo...@polytech.unice.fr> on 2008/01/04 16:12:12 UTC

POJO ComplexObject namespace generation

Hello.

I'm using Pojo mechanism in Axis2 to define some Web Services.

Such services manage instances of my own classes. Here is a Java 
interface for one of these services :

### NewsDataSourceInterface.java
package fr.unice.i3s.rainbow.seduite.dataSources.news;
public interface NewsDataSourceInterface {
	public News 	read(int id) throws Exception;
	public News[] 	readThemAll() throws Exception;
}
###

News class definition is the following :
### News.java
public class News implements Serializable {
	private int id;
	private String author;
	private String title;
	private String content;
	private String entryDate;
	// getters & setters ...
}
###

Service business code is basically defined in NewsDataSourceImpl.
I'm creating my aar file without any problems, but the generated WSDL I 
retrieve from Axis2 is the following :
<wsdl:definitions
  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
  xmlns:ns0="http://news.dataSources.seduite.rainbow.i3s.unice.fr/xsd"
  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
  xmlns:ns1="http://news.dataSources.seduite.rainbow.i3s.unice.fr"
  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  targetNamespace="http://news.dataSources.seduite.rainbow.i3s.unice.fr">
  <wsdl:types>
   <xs:schema
    xmlns:ax27="http://news.dataSources.seduite.rainbow.i3s.unice.fr/xsd"
    attributeFormDefault="qualified"
    elementFormDefault="qualified"
targetNamespace="http://news.dataSources.seduite.rainbow.i3s.unice.fr/xsd">
             <xs:complexType name="News">
                 <xs:sequence>
                     <xs:element minOccurs="0" name="author" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="content" 
nillable="true" type="xs:string"/>

                     <xs:element minOccurs="0" name="entryDate" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="id" type="xs:int"/>
                     <xs:element minOccurs="0" name="title" 
nillable="true" type="xs:string"/>
                     <xs:element minOccurs="0" name="serialVersionUID" 
type="xs:long"/>
                 </xs:sequence>
             </xs:complexType>
  <!-- ... -->
</wsdl:definitions>

Even if I use a <schema namespace="myNamespace"/> inside my services.xml 
descriptor, the complex object News is always generated inside a 
"/xsd"-postfixed namespace.

Such definition seems to be non compatible with Eclipse BPEL Designer 
mechanisms, as the designer is unable to understand my News data type 
when I try to invoke this WS inside a BPEL Process.

Is there a way to avoid the xsd-postifing ?

Cheers,
-- 
  Sebastian

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org