On Jun 23, 2008, at 8:59 PM, Marc Logemann wrote:

Hi,

sorry to be less informative on the first run, here is what i have:

- CXF 2.1
- JAXB (default mapping)
- all classes are public (not static)

That's COULD be the issue if some of them are inner classes. The inner classes need to be static. Otherwise, the "default" constructor really takes an argument (the parent pointer).

- no default constructor on the nested classes (do i really have to manually create it?)

Only if you also have a non-default constructor.

- no JAXB annotations

As i am writing this, i have the feeling that i am missing everything i shouldnt miss. I thought that even without the JAXB annotations, there would be sensible defaults how to map my classes.

So whats the best route to take from here?

I would start by making any inner classes static. From there, I would try adding a @XmlType annotation onto them. The default values for the attributes should be fine, but I think JAXB requires the XmlType annotation to be there.

Dan



--
Marc Logemann
blog http://logemannreloaded.blogspot.com
privat http://www.logemann.org



Am 24.06.2008 um 02:48 schrieb Daniel Kulp:


We would definitely need to see more details...

Primarily, are the nested classes "public static" and have the appropriate default constructor? Everything properly annotated with JAXB annotations? Etc...

Dan


On Jun 23, 2008, at 8:22 PM, Marc Logemann wrote:

Hi,

i just created a more complicated webservice, means, receiving a complex "order" class. This order class has many nested classes in it as you can imagine.

I always thought that the class stucture is exposed via the wsdl but it isnt. But when i create a more simple class (no nested classes, only primitive attributes) and use this as method signature of my webservice, the generated wsdl exposes the structure of the expected parameter.

All i get is:

<xs:complexType name="order">
<xs:sequence/>
</xs:complexType>

What does this mean? Does it mean that i will have to distribute the domain objects which are part of the contract so that the caller can create a client? I always thought the wsdl tells everything about my services and expected structures.... Currently no one should be able to create an apropriate client for my webservice, especially not my primary testing tool SoapUI.

Note: i just used the java-ws annotations for webservices classes and methods. I also named the parameters via @WebParam.

--
Marc Logemann
blog http://logemannreloaded.blogspot.com
privat http://www.logemann.org




---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog






---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to