Re: Complex type problem
I'm having the same problem also when I deserialize. The string field all contains the same value from the first attribute. Vasilis wrote: > > Anna, > > Thank you a lot for your help. > I tried it and i get another error :-). The client can't deserialize > correctly the response. I send a request with a RequestData object with > this data (x = "Hello", y="User" , num = 10). In the client the object has > these values: > x="Hello" > y="Hello' > num=10 > > I tried with 3 and four strings and i get the same results (All string > variables get the value of the first String). In the monitor i can see > that the request has the right values for each string var. > > Do you know why this is happening? > > Thank you, > Roy > > > > > Anne Thomas Manes <[EMAIL PROTECTED]> wrote: Roy, > > The problem is that the "ns" namespace declaration is not in scope for the > element. > > Change the definition to this and see if it works: > > > http://test.com/ejb/"; type=" > pns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> > > Anne > > On 5/29/06, Roy <[EMAIL PROTECTED]> wrote: Dear Anne, > > I think that i have declared it here: > > http://ejb.test.com/rd"; > qname="ns:RequestData" > languageSpecificType="java:com.test.ejb.rd.RequestData"/> > > > I tried to set my complex type only with a String ant an int var. It > worked. I tried it with 2 Strings and both Strings take the same value > (the value of the first string) when i call the service. In the Soap > monitor i can see that both string are sent with different values. Have > you ever any similar problems? > > > > > Anne Thomas Manes <[EMAIL PROTECTED] > έγραψε: Roy, > > You have an error in your WSDD: > > http://test.com/ejb/"; > type="ns:RequestData" xmlns:tns=" http://www.w3.org/2001/XMLSchema " /> > > > You have not declared the "ns" namespace. > > Anne > > On 5/26/06, Suyog Gandhi < [EMAIL PROTECTED]> wrote:Check out > the issue AXIS2-770 , may be it is realted to this. > I faced problems about serialization of complex types. 2nd level of > nesting is not working. Once I re-structure wsdl for only 1 level of > nesting, it started working. > e.g > > following complex type does NOT work: ( Gives null for Name and Value > for the attributes. ) > WMemberInfo > ---|- ID > ---|- Attrbutes [] > -|- Name > -|- Value > > Following complex type works. > WMemberInfo > ----|- ID > |- Attr1Name > |- Attr1 Value > |- Attr2 Name > |- Attr2 Value > > But this is a crude workaround till the time problem is fixed. > > Hope this helps. > Suyog > > > > -Original Message- > From: robert lazarski [mailto: [EMAIL PROTECTED] > Sent: Friday, May 26, 2006 9:36 AM > To: axis-user@ws.apache.org > Subject: Re: Complex type problem > > > > The other thing is make sure your vendor supports wsdl2java -jboss > does not, for example (although they run a modified version of axis 1.2 > internally). The problem I had was similair, although IIRC correctly I was > getting ser / deser errors, not null. It was working on simple types but > failing on complex ones. > > HTH, > Robert > http://www.braziloutsource.com/ > > On 5/26/06, Roy<[EMAIL PROTECTED] > wrote: I think that > this is not exactly my problem. I can call normally the service from > my client when i use simple types. When i try to pass complex types i > face the problem. > > robert lazarski <[EMAIL PROTECTED]> έγραψε: >You'retrying to use a non-ejb client to connect to a > Web Service that implementsimplements SessionBean, is that > correct? The only way I got that to work -using jboss - was > something like... > > // remote ejb / webservice > private CallCentreWebEndpointendpoint; > > String wsdl_loc = " > http://localhost:8080/CallCentreWebServiceJAR?wsdl";; > // generated by JSWDP wscompile, which jboss insists > onusing >URL mappinglocation = > ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); >assertNotNull(mappinglocation); >// bean mapping >
Re: Complex type problem
Anna,Thank you a lot for your help.I tried it and i get another error :-). The client can't deserialize correctly the response. I send a request with a RequestData object with this data (x = "Hello", y="User" , num = 10). In the client the object has these values:x="Hello"y="Hello'num=10I tried with 3 and four strings and i get the same results (All string variables get the value of the first String). In the monitor i can see that the request has the right values for each string var.Do you know why this is happening?Thank you,RoyAnne Thomas Manes <[EMAIL PROTECTED]> wrote: Roy,The problem is that the "ns" namespace declaration is not in scope for the element. Change the definition to this and see if it works: http://test.com/ejb/" type=" pns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " />Anne On 5/29/06, Roy <[EMAIL PROTECTED]> wrote: Dear Anne,I think that i have declared it here: http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/>I tried to set my complex type only with a String ant an int var. It worked. I tried it with 2 Strings and both Strings take the same value (the value of the first string) when i call the service. In the Soap monitor i can see that both string are sent with different values. Have you ever any similar problems? Anne Thomas Manes <[EMAIL PROTECTED] > έγραψε: Roy,You have an error in your WSDD: http://test.com/ejb/" type="ns:RequestData" xmlns:tns=" http://www.w3.org/2001/XMLSchema " />You have not declared the "ns" namespace.AnneOn 5/26/06, Suyog Gandhi < [EMAIL PROTECTED]> wrote:Check out the issue AXIS2-770 , may be it is realted to this. I faced problems about serialization of complex types. 2nd level of nesting is not working. Once I re-structure wsdl for only 1 level of nesting, it started working. e.g following complex type does NOT work: ( Gives null for Name and Value for the attributes. ) WMemberInfo ---|- ID ---|- Attrbutes [] -|- Name -|- Value Following complex type works. WMemberInfo |- ID |- Attr1Name |- Attr1 Value |- Attr2 Name |- Attr2 Value But this is a crude workaround till the time problem is fixed. Hope this helps. Suyog -Original Message-From: robert lazarski [mailto: [EMAIL PROTECTED]]Sent: Friday, May 26, 2006 9:36 AMTo: axis-user@ws.apache.org Subject: Re: Complex type problem The other thing is make sure your vendor supports wsdl2java -jboss does not, for example (although they run a modified version of axis 1.2internally). The problem I had was similair, although IIRC correctly I wasgetting ser / deser errors, not null. It was working on simple types butfailing on complex ones. HTH,Robert http://www.braziloutsource.com/On 5/26/06, Roy<[EMAIL PROTECTED] > wrote: I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem. robert lazarski <[EMAIL PROTECTED]> έγραψε:You'retrying to use a non-ejb client to connect to a Web Service that implementsimplements SessionBean, is that correct? The only way I got that to work -using jboss - was something like... // remote ejb / webservice private CallCentreWebEndpointendpoint; String wsdl_loc = " http://localhost:8080/CallCentreWebServiceJAR?wsdl";// generated by JSWDP wscompile, which jboss insists onusing URL mappinglocation =ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData =ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName(" http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" newURL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory=(org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url,mappinglocation, ws4eeMetaData, qname,null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class);The main idea here isServiceFactoryImpl, which varies by vendor. This may not be your problem,but thought I'd post it in case it
Re: Complex type problem
Roy,The problem is that the "ns" namespace declaration is not in scope for the element. Change the definition to this and see if it works: http://test.com/ejb/" type=" pns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " />Anne On 5/29/06, Roy <[EMAIL PROTECTED]> wrote: Dear Anne,I think that i have declared it here: http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/>I tried to set my complex type only with a String ant an int var. It worked. I tried it with 2 Strings and both Strings take the same value (the value of the first string) when i call the service. In the Soap monitor i can see that both string are sent with different values. Have you ever any similar problems? Anne Thomas Manes <[EMAIL PROTECTED] > έγραψε: Roy,You have an error in your WSDD: http://test.com/ejb/" type="ns:RequestData" xmlns:tns=" http://www.w3.org/2001/XMLSchema " />You have not declared the "ns" namespace.AnneOn 5/26/06, Suyog Gandhi < [EMAIL PROTECTED]> wrote: Check out the issue AXIS2-770 , may be it is realted to this. I faced problems about serialization of complex types. 2nd level of nesting is not working. Once I re-structure wsdl for only 1 level of nesting, it started working. e.g following complex type does NOT work: ( Gives null for Name and Value for the attributes. ) WMemberInfo ---|- ID ---|- Attrbutes [] -|- Name -|- Value Following complex type works. WMemberInfo |- ID |- Attr1Name |- Attr1 Value |- Attr2 Name |- Attr2 Value But this is a crude workaround till the time problem is fixed. Hope this helps. Suyog -Original Message-From: robert lazarski [mailto: [EMAIL PROTECTED]]Sent: Friday, May 26, 2006 9:36 AMTo: axis-user@ws.apache.org Subject: Re: Complex type problem The other thing is make sure your vendor supports wsdl2java -jboss does not, for example (although they run a modified version of axis 1.2internally). The problem I had was similair, although IIRC correctly I wasgetting ser / deser errors, not null. It was working on simple types butfailing on complex ones. HTH,Robert http://www.braziloutsource.com/ On 5/26/06, Roy<[EMAIL PROTECTED] > wrote: I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem. robert lazarski <[EMAIL PROTECTED]> έγραψε: You'retrying to use a non-ejb client to connect to a Web Service that implementsimplements SessionBean, is that correct? The only way I got that to work -using jboss - was something like... // remote ejb / webservice private CallCentreWebEndpointendpoint; String wsdl_loc = " http://localhost:8080/CallCentreWebServiceJAR?wsdl";// generated by JSWDP wscompile, which jboss insists onusing URL mappinglocation =ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData =ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName(" http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" newURL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory=(org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url,mappinglocation, ws4eeMetaData, qname,null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class);The main idea here isServiceFactoryImpl, which varies by vendor. This may not be your problem,but thought I'd post it in case it helps. HTH, Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy<[EMAIL PROTECTED] > wrote:I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java=" http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:R
Re: Complex type problem
Dear Anne,I think that i have declared it here: http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/>I tried to set my complex type only with a String ant an int var. It worked. I tried it with 2 Strings and both Strings take the same value (the value of the first string) when i call the service. In the Soap monitor i can see that both string are sent with different values. Have you ever any similar problems?Anne Thomas Manes <[EMAIL PROTECTED]> έγραψε: Roy,You have an error in your WSDD: http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " />You have not declared the "ns" namespace.AnneOn 5/26/06, Suyog Gandhi < [EMAIL PROTECTED]> wrote: Check out the issue AXIS2-770 , may be it is realted to this. I faced problems about serialization of complex types. 2nd level of nesting is not working. Once I re-structure wsdl for only 1 level of nesting, it started working. e.g following complex type does NOT work: ( Gives null for Name and Value for the attributes. ) WMemberInfo ---|- ID ---|- Attrbutes [] -|- Name -|- Value Following complex type works. WMemberInfo |- ID |- Attr1Name |- Attr1 Value |- Attr2 Name |- Attr2 Value But this is a crude workaround till the time problem is fixed. Hope this helps. Suyog -Original Message-From: robert lazarski [mailto:[EMAIL PROTECTED]]Sent: Friday, May 26, 2006 9:36 AMTo: axis-user@ws.apache.orgSubject: Re: Complex type problem The other thing is make sure your vendor supports wsdl2java -jboss does not, for example (although they run a modified version of axis 1.2internally). The problem I had was similair, although IIRC correctly I wasgetting ser / deser errors, not null. It was working on simple types butfailing on complex ones. HTH,Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy<[EMAIL PROTECTED] > wrote:I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem.robert lazarski <[EMAIL PROTECTED]> έγραψε: You'retrying to use a non-ejb client to connect to a Web Service that implementsimplements SessionBean, is that correct? The only way I got that to work -using jboss - was something like... // remote ejb / webservice private CallCentreWebEndpointendpoint; String wsdl_loc = "http://localhost:8080/CallCentreWebServiceJAR?wsdl";// generated by JSWDP wscompile, which jboss insists onusing URL mappinglocation =ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData =ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName("http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" newURL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory=(org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url,mappinglocation, ws4eeMetaData, qname,null); endpoint = (CallCentreWebEndpoint)service.getPort(CallCentreWebEndpoint.class);The main idea here isServiceFactoryImpl, which varies by vendor. This may not be your problem,but thought I'd post it in case it helps. HTH,Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy<[EMAIL PROTECTED] > wrote:I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java=" http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:Result" xmlns:retNS=" http://test.com/ejb/" returnType="rtns:int" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"> http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> http://ejb.test.com/rd&q
Re: Complex type problem
Roy,You have an error in your WSDD: http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " />You have not declared the "ns" namespace.AnneOn 5/26/06, Suyog Gandhi < [EMAIL PROTECTED]> wrote: Check out the issue AXIS2-770 , may be it is realted to this. I faced problems about serialization of complex types. 2nd level of nesting is not working. Once I re-structure wsdl for only 1 level of nesting, it started working. e.g following complex type does NOT work: ( Gives null for Name and Value for the attributes. ) WMemberInfo ---|- ID ---|- Attrbutes [] -|- Name -|- Value Following complex type works. WMemberInfo |- ID |- Attr1Name |- Attr1 Value |- Attr2 Name |- Attr2 Value But this is a crude workaround till the time problem is fixed. Hope this helps. Suyog -Original Message-From: robert lazarski [mailto:[EMAIL PROTECTED]]Sent: Friday, May 26, 2006 9:36 AMTo: axis-user@ws.apache.orgSubject: Re: Complex type problem The other thing is make sure your vendor supports wsdl2java - jboss does not, for example (although they run a modified version of axis 1.2 internally). The problem I had was similair, although IIRC correctly I was getting ser / deser errors, not null. It was working on simple types but failing on complex ones. HTH,Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy <[EMAIL PROTECTED] > wrote: I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem.robert lazarski <[EMAIL PROTECTED]> έγραψε: You're trying to use a non-ejb client to connect to a Web Service that implements implements SessionBean, is that correct? The only way I got that to work - using jboss - was something like... // remote ejb / web service private CallCentreWebEndpoint endpoint; String wsdl_loc = " http://localhost:8080/CallCentreWebServiceJAR?wsdl"; // generated by JSWDP wscompile, which jboss insists on using URL mappinglocation = ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData = ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName(" http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" new URL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory= (org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url, mappinglocation, ws4eeMetaData, qname, null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class);The main idea here is ServiceFactoryImpl, which varies by vendor. This may not be your problem, but thought I'd post it in case it helps. HTH,Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy <[EMAIL PROTECTED] > wrote: I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java=" http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:Result" xmlns:retNS=" http://test.com/ejb/" returnType="rtns:int" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"> http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/> ---public class RequestData implements java.io.Serializable{private String x;private String y;private int num;public void setX(String x) this.x = x;public void setY(String y) this.y = y;public void setNum(String n) this.num = n;public String getX(){ return x;}public String getY(){ return y;}public int getNum{ retu
RE: Complex type problem
Check out the issue AXIS2-770 , may be it is realted to this. I faced problems about serialization of complex types. 2nd level of nesting is not working. Once I re-structure wsdl for only 1 level of nesting, it started working. e.g following complex type does NOT work: ( Gives null for Name and Value for the attributes. ) WMemberInfo ---|- ID ---|- Attrbutes [] -|- Name -|- Value Following complex type works. WMemberInfo |- ID |- Attr1Name |- Attr1 Value |- Attr2 Name |- Attr2 Value But this is a crude workaround till the time problem is fixed. Hope this helps. Suyog -Original Message-From: robert lazarski [mailto:[EMAIL PROTECTED]Sent: Friday, May 26, 2006 9:36 AMTo: axis-user@ws.apache.orgSubject: Re: Complex type problem The other thing is make sure your vendor supports wsdl2java - jboss does not, for example (although they run a modified version of axis 1.2 internally). The problem I had was similair, although IIRC correctly I was getting ser / deser errors, not null. It was working on simple types but failing on complex ones. HTH,Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy <[EMAIL PROTECTED] > wrote: I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem.robert lazarski <[EMAIL PROTECTED]> έγραψε: You're trying to use a non-ejb client to connect to a Web Service that implements implements SessionBean, is that correct? The only way I got that to work - using jboss - was something like... // remote ejb / web service private CallCentreWebEndpoint endpoint; String wsdl_loc = " http://localhost:8080/CallCentreWebServiceJAR?wsdl"; // generated by JSWDP wscompile, which jboss insists on using URL mappinglocation = ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData = ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName(" http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" new URL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory= (org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url, mappinglocation, ws4eeMetaData, qname, null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class);The main idea here is ServiceFactoryImpl, which varies by vendor. This may not be your problem, but thought I'd post it in case it helps. HTH,Roberthttp://www.braziloutsource.com/ On 5/26/06, Roy <[EMAIL PROTECTED] > wrote: I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:Result" xmlns:retNS=" http://test.com/ejb/" returnType="rtns:int" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"> http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/> ---public class RequestData implements java.io.Serializable{private String x;private String y;private int num;public void setX(String x) this.x = x;public void setY(String y) this.y = y;public void setNum(String n) this.num = n;public String getX(){ return x;}public String getY(){ return y;}public int getNum{ return num;}}If you see something wrong please tell me...Anne Thomas Manes < [EMAIL PROTECTED]> έγραψε: I think you need to use a beanmapping element rather than a typemapping element. If that doesn't work, please post more information.Anne On 5/25/06, Roy < [
Re: Complex type problem
The other thing is make sure your vendor supports wsdl2java - jboss does not, for example (although they run a modified version of axis 1.2 internally). The problem I had was similair, although IIRC correctly I was getting ser / deser errors, not null. It was working on simple types but failing on complex ones. HTH, Robert http://www.braziloutsource.com/On 5/26/06, Roy <[EMAIL PROTECTED] > wrote:I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem.robert lazarski <[EMAIL PROTECTED]> έγραψε: You're trying to use a non-ejb client to connect to a Web Service that implements implements SessionBean, is that correct? The only way I got that to work - using jboss - was something like... // remote ejb / web service private CallCentreWebEndpoint endpoint; String wsdl_loc = " http://localhost:8080/CallCentreWebServiceJAR?wsdl"; // generated by JSWDP wscompile, which jboss insists on using URL mappinglocation = ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData = ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName(" http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" new URL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory= (org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url, mappinglocation, ws4eeMetaData, qname, null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class); The main idea here is ServiceFactoryImpl, which varies by vendor. This may not be your problem, but thought I'd post it in case it helps. HTH, Robert http://www.braziloutsource.com/ On 5/26/06, Roy <[EMAIL PROTECTED] > wrote:I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:Result" xmlns:retNS=" http://test.com/ejb/" returnType="rtns:int" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"> http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/> ---public class RequestData implements java.io.Serializable{private String x;private String y;private int num;public void setX(String x) this.x = x;public void setY(String y) this.y = y;public void setNum(String n) this.num = n;public String getX(){ return x;}public String getY(){ return y;}public int getNum{ return num;}}If you see something wrong please tell me...Anne Thomas Manes < [EMAIL PROTECTED]> έγραψε: I think you need to use a beanmapping element rather than a typemapping element. If that doesn't work, please post more information.AnneOn 5/25/06, Roy < [EMAIL PROTECTED]> wrote:Hello all, I have deployed an ejb service with a method that takes as input a complex object (it contains 2 Strings and one int var). When i generate the code in the client with WSDL2Java and call the method i can see that this complex type object becomes null. I can see in the monitor that the request object isn't null but in the debug mode i can see that the service receives a null object. This problem doesn't occur when I use simple types to transfer. I tried the same code on a non-ejb service and works normally. In the deploy wsdd i use a typemapping element to describe the object and i use the BeanSerializerFactory and BeanDeSerializer factory as serializer-deserializer. Can someone explain why is this happening?Regards,Roy Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr
Re: Complex type problem
I think that this is not exactly my problem. I can call normally the service from my client when i use simple types. When i try to pass complex types i face the problem.robert lazarski <[EMAIL PROTECTED]> έγραψε: You're trying to use a non-ejb client to connect to a Web Service that implements implements SessionBean, is that correct? The only way I got that to work - using jboss - was something like... // remote ejb / web service private CallCentreWebEndpoint endpoint; String wsdl_loc = "http://localhost:8080/CallCentreWebServiceJAR?wsdl"; // generated by JSWDP wscompile, which jboss insists on using URL mappinglocation = ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData = ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName("http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" new URL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory= (org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url, mappinglocation, ws4eeMetaData, qname, null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class); The main idea here is ServiceFactoryImpl, which varies by vendor. This may not be your problem, but thought I'd post it in case it helps. HTH, Robert http://www.braziloutsource.com/On 5/26/06, Roy <[EMAIL PROTECTED] > wrote:I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:Result" xmlns:retNS=" http://test.com/ejb/" returnType="rtns:int" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"> http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/> ---public class RequestData implements java.io.Serializable{private String x;private String y;private int num;public void setX(String x) this.x = x;public void setY(String y) this.y = y;public void setNum(String n) this.num = n;public String getX(){ return x;}public String getY(){ return y;}public int getNum{ return num;}}If you see something wrong please tell me...Anne Thomas Manes < [EMAIL PROTECTED]> έγραψε: I think you need to use a beanmapping element rather than a typemapping element. If that doesn't work, please post more information.AnneOn 5/25/06, Roy < [EMAIL PROTECTED]> wrote:Hello all, I have deployed an ejb service with a method that takes as input a complex object (it contains 2 Strings and one int var). When i generate the code in the client with WSDL2Java and call the method i can see that this complex type object becomes null. I can see in the monitor that the request object isn't null but in the debug mode i can see that the service receives a null object. This problem doesn't occur when I use simple types to transfer. I tried the same code on a non-ejb service and works normally. In the deploy wsdd i use a typemapping element to describe the object and i use the BeanSerializerFactory and BeanDeSerializer factory as serializer-deserializer. Can someone explain why is this happening?Regards,Roy Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr
Re: Complex type problem
You're trying to use a non-ejb client to connect to a Web Service that implements implements SessionBean, is that correct? The only way I got that to work - using jboss - was something like... // remote ejb / web service private CallCentreWebEndpoint endpoint; String wsdl_loc = "http://localhost:8080/CallCentreWebServiceJAR?wsdl"; // generated by JSWDP wscompile, which jboss insists on using URL mappinglocation = ClassLoader.getSystemResource("CallCentreWeb_Mapping.xml"); assertNotNull(mappinglocation); // bean mapping URL ws4eeMetaData = ClassLoader.getSystemResource("ws4ee-deploy.xml"); assertNotNull(ws4eeMetaData); QName qname = new QName("http://localhost/callcentreweb", "CallCentreWebService"); URL url ="" new URL(wsdl_loc); org.jboss.webservice.client.ServiceFactoryImpl factory= (org.jboss.webservice.client.ServiceFactoryImpl) ServiceFactoryImpl.newInstance(); javax.xml.rpc.Service service = factory.createService(url, mappinglocation, ws4eeMetaData, qname, null); endpoint = (CallCentreWebEndpoint) service.getPort(CallCentreWebEndpoint.class); The main idea here is ServiceFactoryImpl, which varies by vendor. This may not be your problem, but thought I'd post it in case it helps. HTH, Robert http://www.braziloutsource.com/On 5/26/06, Roy <[EMAIL PROTECTED] > wrote:I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd:http://xml.apache.org/axis/wsdd/ " xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> http://ejb.test.com"/> http://test.com/ejb/" returnQName="retNS:Result" xmlns:retNS=" http://test.com/ejb/" returnType="rtns:int" xmlns:rtns=" http://www.w3.org/2001/XMLSchema"> http://test.com/ejb/" type="ns:RequestData" xmlns:tns="http://www.w3.org/2001/XMLSchema " /> http://ejb.test.com/rd" qname="ns:RequestData" languageSpecificType="java:com.test.ejb.rd.RequestData"/> ---public class RequestData implements java.io.Serializable{private String x;private String y;private int num;public void setX(String x) this.x = x;public void setY(String y) this.y = y;public void setNum(String n) this.num = n;public String getX(){ return x;}public String getY(){ return y;}public int getNum{ return num;}}If you see something wrong please tell me...Anne Thomas Manes < [EMAIL PROTECTED]> έγραψε: I think you need to use a beanmapping element rather than a typemapping element. If that doesn't work, please post more information.AnneOn 5/25/06, Roy < [EMAIL PROTECTED]> wrote:Hello all, I have deployed an ejb service with a method that takes as input a complex object (it contains 2 Strings and one int var). When i generate the code in the client with WSDL2Java and call the method i can see that this complex type object becomes null. I can see in the monitor that the request object isn't null but in the debug mode i can see that the service receives a null object. This problem doesn't occur when I use simple types to transfer. I tried the same code on a non-ejb service and works normally. In the deploy wsdd i use a typemapping element to describe the object and i use the BeanSerializerFactory and BeanDeSerializer factory as serializer-deserializer. Can someone explain why is this happening?Regards,Roy Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr
Re: Complex type problem
I tried the beanmapping too but it didn't work. This is the the complex type i want to send and the deploy.wsdd file:Deploy.wsdd: ---public class RequestData implements java.io.Serializable{private String x;private String y;private int num;public void setX(String x) this.x = x;public void setY(String y) this.y = y;public void setNum(String n) this.num = n;public String getX(){ return x;}public String getY(){ return y;}public int getNum{ return num;}}If you see something wrong please tell me...Anne Thomas Manes <[EMAIL PROTECTED]> έγραψε: I think you need to use a beanmapping element rather than a typemapping element.If that doesn't work, please post more information.AnneOn 5/25/06, Roy <[EMAIL PROTECTED]> wrote:Hello all, I have deployed an ejb service with a method that takes as input a complex object (it contains 2 Strings and one int var). When i generate the code in the client with WSDL2Java and call the method i can see that this complex type object becomes null. I can see in the monitor that the request object isn't null but in the debug mode i can see that the service receives a null object. This problem doesn't occur when I use simple types to transfer. I tried the same code on a non-ejb service and works normally. In the deploy wsdd i use a typemapping element to describe the object and i use the BeanSerializerFactory and BeanDeSerializer factory as serializer-deserializer. Can someone explain why is this happening?Regards,Roy Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr
Re: Complex type problem
I think you need to use a beanmapping element rather than a typemapping element.If that doesn't work, please post more information.AnneOn 5/25/06, Roy <[EMAIL PROTECTED]> wrote:Hello all, I have deployed an ejb service with a method that takes as input a complex object (it contains 2 Strings and one int var). When i generate the code in the client with WSDL2Java and call the method i can see that this complex type object becomes null. I can see in the monitor that the request object isn't null but in the debug mode i can see that the service receives a null object. This problem doesn't occur when I use simple types to transfer. I tried the same code on a non-ejb service and works normally. In the deploy wsdd i use a typemapping element to describe the object and i use the BeanSerializerFactory and BeanDeSerializer factory as serializer-deserializer. Can someone explain why is this happening?Regards,Roy Χρησιμοποιείτε Yahoo! Βαρεθήκατε τα ενοχλητικά μηνύ ματα (spam); Το Yahoo! Mail διαθέτει την καλύτερη δυνατή προστασία κατά των ενοχλητικών μηνυμάτων http://login.yahoo.com/config/mail?.intl=gr