I have
the following type mapping
< typeMapping xmlns:ns="http://dom.w3c.org" qname="ns:Document" languageSpecificType="java:org.w3c.dom.Document" serializer="org.apache.axis.encoding.ser.DocumentSerializerFactory"
deserializer="org.apache.axis.encoding.ser.DocumentDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
No complaints on compile but when I go to generate the client stubs using
wsdl2java it says
[axis-wsdl2java] java.io.IOException: Type {http://dom.w3c.org}Document
is refer enced but not defined.
I've
also tried the following mapping
<typeMapping xmlns:ns="http://www.w3.org/2001/XMLSchema" qname="ns:Document" type="java:org.w3c.dom.Document" serializer="org.apache.axis.encoding.ser.DocumentSerializerFactory"
deserializer="org.apache.axis.encoding.ser.DocumentDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
same
problem.
Any ideas?
Thanks,
Doug
Yeah…I followed what
you had done. I changed everything to a complex type, fixed the WSDL using
the WSDL validator from eclipse, put everything in the same namespace, but now I
get the following error:
AxisFault
faultCode:
{http://xml.apache.org/axis/}Server.generalException
faultSubcode:
faultString:
Attempted to write schema for bad QName (no namespace) :
parameters
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: AxisFault
faultCode:
{http://xml.apache.org/axis/}Server.generalException
faultSubcode:
faultString:
Attempted to write schema for bad QName (no namespace) :
parameters
faultActor:
faultNode:
faultDetail:
Attempted to write
schema for bad QName (no namespace) : parameters
at
org.apache.axis.wsdl.fromJava.Types.writeSchemaElement(Types.java:656)
at
org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java:1368)
at
org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1127)
In 1.1, can I just
return a specific wsdl file instead of having the axis generate it on the
fly? I really don’t need it to be generated on the
fly.
Anil
From:
Vishist Mandapaka
[mailto:[EMAIL PROTECTED] Sent: Sunday, October 09, 2005 9:41
PM To: Anil Arora Cc: [email protected] Subject: Re: Fault -
makeTypeElement()
Anil,
You have to modify your wsdl a little bit. I saw your element declarations in
your wsdl. When you declare <xsd:element> and then declare
<xsd:complexType> the problem arises. Instead, if you just declare
<xsd:complexType name="test">, then all those symbols will go away. I am
including the modified wsdl with this mail. Hope this helps your problem. There
are namespace conflicts in the wsdl, but I hope you can resolve it. If not, I
will resolve it later. thanks vishist.
On 10/4/05, Anil Arora <[EMAIL PROTECTED]>
wrote:
Hi,
Vishist
Attached is my wsdl
file.
I'm not a big fan of
changing generated code though. So, if that's the solution, I might start
looking at using the native webservices provided by the J2EE
container.
Thanks,
Anil
From:
Vishist Mandapaka [mailto:[EMAIL PROTECTED]]
Sent: Monday, October 03, 2005
1:51 PM To: Anil
Arora
Hi
Anil, At last, I could get
my webservices to work. I had to tweak in the auto-generated code to get it to
work. Please send me your wsdl, xsd and build.xml to test. I could take a look
and let you know. As for me, there are ">" symbols that are generated in
the queue names. I removed them from all the generated code and it is working
fine now. thanks vishist.
On 9/28/05,
Anil Arora <[EMAIL PROTECTED]>
wrote:
Thanks Chris for that
catch. That was just stupidity on my part.
Vishist, definitely let
me know if you solve this.
I'm starting to think
it has something to do with the custom serializers that I implemented. I
tried to just use the BeanSerializers, and I still get the exception. The
weird thing is that the exception is different everytime I start up my
webserver.
Anil
Hi Anil, As Anne has
suggested, I presume Axis 1.1 is a bit buggy with the document/literal
operation. For me, when I try to deploy, it is giving NullPointerException.
Now in order to come around it, I did one thing,
First reverse
engineer from java to wsdl. So your command would be java
org.apache.axis.wsdl.Java2WSDL yourServiceClassInstance
.....options..... This will give you the wsdl file. Now, if you regenerate
the java classes and try to deploy it, it will work. Deploy in the sense you
need to copy the deploy.wsdd info. You should be able to see the wsdl file. But
I presume you won't be able to invoke the webservice. It will give all kinds of
exception. There is lot more to it to understand. As per my results, the
wsdl that is generated from Service classes will have rpc/encoded format instead
of document/literal. I am still trying to figure out. I will let you know if I
succeed with this. thanks Vishist.
On 9/27/05,
Ebert, Chris <[EMAIL PROTECTED]>
wrote:
Hi Anil,
I don't know if it's your problem,
but your attributes should say use="optional" instead of optional="true" (and
use="required" instead of optional="false"). Dunno if that's causing your
problems, but it's not correct...
Chris
-----Original
Message----- From: Anil Arora [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 27,
2005 11:55 To: [email protected]; Anne Thomas
Manes; Vishist
Mandapaka Subject: RE: Fault - makeTypeElement()
I am
running into a similar issue with my webservice. I had
to downgrade to AXIS 1.1 so I am struggling to get this to work.
I
embedded the schema inline as suggested. Attached is my wsdl
file. Anyone have any
ideas?
Anil
________________________________
From:
Anne Thomas Manes [mailto: [EMAIL PROTECTED]] Sent:
Saturday, September 24, 2005 6:40 PM To: Vishist
Mandapaka Cc: [email protected] Subject: Re: Fault -
makeTypeElement()
Axis 1.1 is a bit buggy when it comes to
document/literal, but it should work if you're doing WSDL first.
I did
find problems with your WSDL in the echo operation: 1- message part
definitions for a doc/literal operation must reference elements, not
types. 2- the parts attribute in a soap:body definition must reference a
part definition, not a message definition.
I can't immagine why these
mistakes would produce the error you're seeing, but who knows.
In any
case, because Axis 1.1 is a bit temperamental about doc/literal, I suggest
you remove the echo operation, and I suggest that you embed you schema inline
rather than including an external file.
Anne
On 9/24/05,
Vishist Mandapaka <[EMAIL PROTECTED]>
wrote:
I have two more question, why Axis 1.1 is putting ">" symbols
infront of elements that are part of messages. and also the corresponding
generated classes have "_" leading to their class names. The
documentation did not help much in this
aspect.
On 9/24/05, Vishist Mandapaka < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> >
wrote:
Anne, I modified the schema. Still it
did not work. The same "makeTypeElement" error came up. Scanning through the
schema, wsdl, server-config.wsdd, all of them look fine to me. Generated
the java classes Compiled the java classes moved the generated class to
WEB-INF/classes directory copied/pasted deploy.wsdd to server-config.wsdd
from <service>to </service> part since deploy through command
line is not working (it is giving NullPointerException) started the server
then came up the error..
:)
On 9/24/05,
Anne Thomas Manes < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
wrote:
1. The code should not work in Axis 1.2. I guess it is more
forgiving than Axis 1.1. 2. Schema inclusion does not change the namespace
qualification status of the elements defined in the included schema. In the
schema spec terminology, inclusion does not "coerce" the included schema.
An included schema must have the same namespace as the including schema or
no namespace.
Anne
On 9/24/05, Vishist Mandapaka < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >
wrote:
Then I have the following questions 1. How come the code is
working in Axis 1.2 2. In the schema inclusion statement, I have defined the
targetNamespace. Wouldn't it be sufficient?
Anyway, as you said, I
will try to put the namespace declaration in the schema and verify it. I
will let you know the progress. thanks a lot vishist.
On
9/24/05, Anne Thomas Manes < [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]> >
wrote:
Looking just at your schema, I suspect you might have a
namespace problem. The fault indicates that it is trying to define
the {ssi_esap_lnp}>SSILNPResponse type (a qualified element name) but your
schema doesn't define a targetnamespace, so all elements in the
schema are unqualified.
Anne
On 9/24/05, Anne Thomas Manes < [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]> >
wrote:
Please also
provide the
WSDL.
On 9/23/05,
Vishist Mandapaka < [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]> >
wrote:
hi, I
am using Axis 1.1 and deployed the webservice on Iplanet 6.1 webserver. When
I try to access the WSDL, I get the following
exception "
Sorry, something seems
to have gone wrong... here are
the details:
Fault -
makeTypeElement() was told to create a
type "{ssi_esap_lnp}>SSILNPResponse", with no containing element
AxisFault
faultCode: { <http://schemas.xmlsoap.org/soap/envelope/%7DServer.generalException
>
http://schemas.xmlsoap.org/soap/envelope/}Server.generalException <
http://schemas.xmlsoap.org/soap/envelope/%7DServer.generalException>
faultSubcode:
faultString: makeTypeElement() was told to create a
type "{ssi_esap_lnp}>SSILNPResponse", with no containing element
faultActor:
faultNode:
faultDetail:
"
It
seems there is something wrong with my webservice. But I'm unable to figure
it out. There is nothing in webserver
logs.
The
same webservice is working in
Axis
1.2.
But our companys spec is to use Axis 1.1
:).
I am outlining the
steps I followed
1.
Created an xsd describing the complex
elements
2. Created the
wsdl, with the include statement for
xsd.
3.
generated the java classes using Axis utility
class
4.
Compiled the source files and then deployed
it.
5. The process of
deploying is like, I have a server-config.wsdd in WEB-INF directory and I
deployed that webservice
using
deploy.wsdd
file generated by
Axis.
When
I try to access the wsdl, I get this error.
Your help in
this matter will be lot to me. I am including the xsd, wsdl and
wsdd.
thanks
vishist.
|