Hi Yugandhar,
The order of the messages in the portType is significant, so by
reversing these you changed the operation from a request-response
pattern to a solicit-response pattern. I haven't tested this pattern
(since it tends to be rarely used), but suspect that with this change
the JiBX data binding for the input message is just not getting processed.
The error you're getting in the first case says that you don't have a
binding defined for the authenticationKeyType element. JiBX does require
you to supply a binding with <mapping> definitions that match the actual
message elements (for basic doc/lit) or the component types (for
unwrapped). Do you have the <mapping> for authenticationKeyType defined?
- Dennis
Dennis M. Sosnoski
SOA and Web Services in Java
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
yugandhar wrote:
Hello,
I am using axis2 1.1.1 and jibx 1.1.3. I created a wsdl and trying to
generate the skeleton.
porttype I am using is:
<wsdl:portType name="SOASecurityServicePortType">
<wsdl:operation name="authenticate">
<wsdl:input message="ns:authenticateRequest"/>
<wsdl:output message="ns:authenticateResponse"/>
</wsdl:operation>
</wsdl:portType>
========================
wsdl2java throws up the following error:
========================
Exception in thread "main"
org.apache.axis2.wsdl.codegen.CodeGenerationException:
java.lang.RuntimeException: No ma
pping defined for element
{http://SOASecurity.sec.gov/SOASecurity/wsdl/1.0/SOASecurity.wsdl}authenticationKeyType
at
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:224)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
Caused by: java.lang.RuntimeException: No mapping defined for element
{http://SOASecurity.sec.gov/SOASecurity/wsdl/
1.0/SOASecurity.wsdl}authenticationKeyType
at
org.apache.axis2.jibx.CodeGenerationUtility.mapQName(CodeGenerationUtility.java:928)
at
org.apache.axis2.jibx.CodeGenerationUtility.mapMessage(CodeGenerationUtility.java:914)
at
org.apache.axis2.jibx.CodeGenerationUtility.engage(CodeGenerationUtility.java:384)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.axis2.wsdl.codegen.extension.JiBXExtension.engage(JiBXExtension.java:74)
at
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:177)
... 2 more
===================================
But when I changed (basically swapped) the input message and output message
in the porttype it creates the files.
<wsdl:portType name="SOASecurityServicePortType">
<wsdl:operation name="authenticate">
<wsdl:output message="ns:authenticateResponse"/>
<wsdl:input message="ns:authenticateRequest"/>
</wsdl:operation>
</wsdl:portType>
I am kind of puzzled and not sure how to go about this. Any help is greatly
appreciated. May be I am missing some feature here.
regards
Yugandhar
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]