<serializable> element is in wrong namespace , you need to change it
to <jaxb:serializable uid="-6026937020915831338" />.
daniel.mfreitas wrote:
Well, the file that worked for me is this:
<?xml version="1.0" encoding="UTF-8"?>
<jaxws:bindings wsdlLocation="mywsdl.wsdl"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings>
<xjc:serializable uid="-6026937020915831338" />
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
</jaxws:bindings>
Problem is the classes are still not Serializable. I think <jaxws:bindings>
dot not recognize <xs:appinfo> or <xjc:serializable>.
Ok let's forget about binding files for a moment. Let's get to the basic
problem. I want the generated stubs to implement Serializable. That's all I
need. How can I make this happen?
James Mao wrote:
You have to make sure all your xmls are well-formed, probably caused by
a missing closing tag, or such
You can check it with your browser
James
Well, the file you provided as an example throws
WSDLToJava Error : The binding file: file:/jaxb-bindings.xml references a
not well-formed xml document.
The file that I provided as an example and that works with JAXWS RI looks
quite different from the <jaxws:bindings/> file I've seen around. For
example the root of the document is <xs:schema/>. Also in the file I
provided I do not have to specify my WSDL file, which makes sense for me
sisnce all I want to do is that the entity stubs implement Serializable.
I
need them to be serializable so I can use them with other frameworks that
requires it.
Jim Ma-3 wrote:
Hi ,
Add the wsdlLocation and Xpath express to provide which schema you want
to customize , try the following binding file
to see if it works for your wsdl:
<jaxws:bindings wsdlLocation="${your.wsdl}"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<jaxws:bindings node="wsdl:definitions/wsdl:types/xs:schema">
<jaxb:globalBindings>
<xjc:serializable
uid="-6026937020915831338"/>
</jaxb:globalBindings>
</jaxws:bindings>
</jaxws:bindings>
Regards
Jim
daniel.mfreitas wrote:
Hello. I want to use wsdl2java to generate the client stubs to be used
by
my
client web application. I am using Spring Web Flow and it requires that
objects used in the flow are Serializable.
I successfully generated Serializable classes using the following
bindings
file and Metro JAXWS RI implementation:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
elementFormDefault="qualified" attributeFormDefault="unqualified"
jaxb:extensionBindingPrefixes="xjc" jaxb:version="1.0">
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings>
<xjc:serializable uid="-6026937020915831338"/>
</jaxb:globalBindings>
</xs:appinfo>
</xs:annotation>
</xs:schema>
But because of some limitations of Metro RI, we want to switch to CXF.
When
calling wsdl2java from a maven build file and we try to supply the
above
binding file, cfx throws
WSDLToJava Error : Unknown external binding files:
This is not a FileNotFoundError. wsdl2java does find the file, but it
seems
it does not understand its contents. I wanted to use CXF for everything
including java2wsdl and wsdl2java. We have bad experiences to set up
JAXWS
Metro RI and for some developers it is a pain to put it to work.
So how can I make the entities stubs to implement serializable with
wsdl2java?