Axis 1.4 and .NET interop
We have been using AXIS 1.1 ( yeah I know its old) for past few years with Jboss and everythings looks fine.We have removed the jbossws.sar directory completely. Anyway so we have this new requirement where we have to provide webservices to a .NET client. No matter what we provide .NET client keeps getting exceptions. We found yesterday that .NET does not support RPC transport from java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( created using ANT JAVA2WSDL tool) . But then even when I test the WS from Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. So we decided to upgrade to 1.4. I still kept getting the NOT A ERROR except when I mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java client stubs can successfully work with Java WSs. We will be testing it with .NET tomorrow. I am wondering if it will work and there wont be any exceptions. Thanks - Moody friends. Drama queens. Your life? Nope! - their life, your story. Play Sims Stories at Yahoo! Games.
Re: Axis 1.4 and .NET interop
Wrapped style is the way to go. But you still might encounter problems if your service is exposing Java-specific types. Anne On 10/16/07, M N <[EMAIL PROTECTED]> wrote: > We have been using AXIS 1.1 ( yeah I know its old) for past few years with > Jboss and everythings looks fine.We have removed the jbossws.sar directory > completely. > > Anyway so we have this new requirement where we have to provide webservices > to a .NET client. No matter what we provide .NET client keeps getting > exceptions. We found yesterday that .NET does not support RPC transport from > java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( > created using ANT JAVA2WSDL tool) . But then even when I test the WS from > Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I > read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. > So we decided to upgrade to 1.4. > > I still kept getting the NOT A ERROR except when I > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any > other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java > client stubs can successfully work with Java WSs. We will be testing it with > .NET tomorrow. I am wondering if it will work and there wont be any > exceptions. > > Thanks > > > > Moody friends. Drama queens. Your life? Nope! - their life, your story. > Play Sims Stories at Yahoo! Games. > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Axis 1.4 and .NET interop
Thanks Anne. when you say Java specific types I assume you talking about something like Collections,arraylists etc. So far I dont have anything like that. Anne Thomas Manes <[EMAIL PROTECTED]> wrote: Wrapped style is the way to go. But you still might encounter problems if your service is exposing Java-specific types. Anne On 10/16/07, M N wrote: > We have been using AXIS 1.1 ( yeah I know its old) for past few years with > Jboss and everythings looks fine.We have removed the jbossws.sar directory > completely. > > Anyway so we have this new requirement where we have to provide webservices > to a .NET client. No matter what we provide .NET client keeps getting > exceptions. We found yesterday that .NET does not support RPC transport from > java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( > created using ANT JAVA2WSDL tool) . But then even when I test the WS from > Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I > read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. > So we decided to upgrade to 1.4. > > I still kept getting the NOT A ERROR except when I > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any > other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java > client stubs can successfully work with Java WSs. We will be testing it with > .NET tomorrow. I am wondering if it will work and there wont be any > exceptions. > > Thanks > > > > Moody friends. Drama queens. Your life? Nope! - their life, your story. > Play Sims Stories at Yahoo! Games. > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Pinpoint customers who are looking for what you sell.
RE: Axis 1.4 and .NET interop
Anne means Document Literal Wrapped style. Go here to see a good definition of the 4 major styles: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ The style we are advocating means you need to write XML Schema and place it into your wsdl file. Then you run your wsdl file through WSDL2Java to generate a bunch of serializer and deserializer classes. The command is something like: %>java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true .wsdl Regards, -jeff _ From: M N [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 16, 2007 8:56 AM To: axis-user@ws.apache.org Subject: Re: Axis 1.4 and .NET interop Thanks Anne. when you say Java specific types I assume you talking about something like Collections,arraylists etc. So far I dont have anything like that. Anne Thomas Manes <[EMAIL PROTECTED]> wrote: Wrapped style is the way to go. But you still might encounter problems if your service is exposing Java-specific types. Anne On 10/16/07, M N wrote: > We have been using AXIS 1.1 ( yeah I know its old) for past few years with > Jboss and everythings looks fine.We have removed the jbossws.sar directory > completely. > > Anyway so we have this new requirement where we have to provide webservices > to a .NET client. No matter what we provide .NET client keeps getting > exceptions. We found yesterday that .NET does not support RPC transport from > java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( > created using ANT JAVA2WSDL tool) . But then even when I test the WS from > Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I > read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. > So we decided to upgrade to 1.4. > > I still kept getting the NOT A ERROR except when I > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any > other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java > client stubs can successfully work with Java WSs. We will be testing it with > .NET tomorrow. I am wondering if it will work and there wont be any > exceptions. > > Thanks > > > > Moody friends. Drama queens. Your life? Nope! - their life, your story. > Play Sims Stories at Yahoo! Games. > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] _ Pinpoint customers <http://us.rd.yahoo.com/evt=48250/*http://searchmarketing.yahoo.com/arp/ sponsoredsearch_v9.php?o=US2226&cmp=Yahoo&ctv=AprNI&s=Y&s2=EM&b=50> who are looking for what you sell.
Re: Axis 1.4 and .NET interop
Walker, Jeff wrote: Anne means Document Literal Wrapped style. Go here to see a good definition of the 4 major styles: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ The style we are advocating means you need to write XML Schema and place it into your wsdl file. Then you run your wsdl file through WSDL2Java to generate a bunch of serializer and deserializer classes. The command is something like: %>java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true .wsdl Regards, -jeff *From:* M N [mailto:[EMAIL PROTECTED] *Sent:* Tuesday, October 16, 2007 8:56 AM *To:* axis-user@ws.apache.org *Subject:* Re: Axis 1.4 and .NET interop Thanks Anne. when you say Java specific types I assume you talking about something like Collections,arraylists etc. So far I dont have anything like that. */Anne Thomas Manes <[EMAIL PROTECTED]>/* wrote: Wrapped style is the way to go. But you still might encounter problems if your service is exposing Java-specific types. Anne On 10/16/07, M N wrote: > We have been using AXIS 1.1 ( yeah I know its old) for past few years with > Jboss and everythings looks fine.We have removed the jbossws.sar directory > completely. > > Anyway so we have this new requirement where we have to provide webservices > to a .NET client. No matter what we provide .NET client keeps getting > exceptions. We found yesterday that .NET does not support RPC transport from > java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( > created using ANT JAVA2WSDL tool) . But then even when I test the WS from > Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I > read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. > So we decided to upgrade to 1.4. > > I still kept getting the NOT A ERROR except when I > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any > other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java > client stubs can successfully work with Java WSs. We will be testing it with > .NET tomorrow. I am wondering if it will work and there wont be any > exceptions. > > Thanks > > > > Moody friends. Drama queens. Your life? Nope! - their life, your story. > Play Sims Stories at Yahoo! Games. > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Pinpoint customers <http://us.rd.yahoo.com/evt=48250/*http://searchmarketing.yahoo.com/arp/sponsoredsearch_v9.php?o=US2226&cmp=Yahoo&ctv=AprNI&s=Y&s2=EM&b=50>who are looking for what you sell. Mmm, how exactly do you put your schema in your wsdl file? And is there a way to validate the xml comming in and out (with RawXMLInOutReceiver) in Java 1.4; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Axis 1.4 and .NET interop
Jeff I am using WRAPPED/LITERAL style in WSDL. My question was about java specific objects. Have you been successful in integrating .NET client with axis 1.4 WS using the wrapped/literal approach ? MN "Walker, Jeff" <[EMAIL PROTECTED]> wrote: Anne means Document Literal Wrapped style. Go here to see a good definition of the 4 major styles: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ The style we are advocating means you need to write XML Schema and place it into your wsdl file. Then you run your wsdl file through WSDL2Java to generate a bunch of serializer and deserializer classes. The command is something like: %>java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true .wsdl Regards, -jeff - From: M N [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 16, 2007 8:56 AM To: axis-user@ws.apache.org Subject: Re: Axis 1.4 and .NET interop Thanks Anne. when you say Java specific types I assume you talking about something like Collections,arraylists etc. So far I dont have anything like that. Anne Thomas Manes <[EMAIL PROTECTED]> wrote: Wrapped style is the way to go. But you still might encounter problems if your service is exposing Java-specific types. Anne On 10/16/07, M N wrote: > We have been using AXIS 1.1 ( yeah I know its old) for past few years with > Jboss and everythings looks fine.We have removed the jbossws.sar directory > completely. > > Anyway so we have this new requirement where we have to provide webservices > to a .NET client. No matter what we provide .NET client keeps getting > exceptions. We found yesterday that .NET does not support RPC transport from > java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( > created using ANT JAVA2WSDL tool) . But then even when I test the WS from > Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I > read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. > So we decided to upgrade to 1.4. > > I still kept getting the NOT A ERROR except when I > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any > other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java > client stubs can successfully work with Java WSs. We will be testing it with > .NET tomorrow. I am wondering if it will work and there wont be any > exceptions. > > Thanks > > > > Moody friends. Drama queens. Your life? Nope! - their life, your story. > Play Sims Stories at Yahoo! Games. > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Pinpoint customers who are looking for what you sell. - Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
RE: Axis 1.4 and .NET interop
Yes. My client is a .NET application. We use Doc/Literal-wrapped. My web service is hosted on WebSphere 6.1. (It uses IBM's home-grown implementation of the JAX-RPC standard. We are not using Axis on this project, but previous projects I was on used Axis 1.3 and had .NET clients. There were no issues once both parties agreed to the interface layout and schema). No java objects of any kind are transferred. We wrote a lot of XML Schema to represent the data going back and forth. As long as you keep to using doc/literal-wrapped, and use schema to represent all data passed, you should have no issues with .NET. Read the IBM web page I put in the link below, It's a very good article and spells it out nicely. -jeff _ From: M N [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 16, 2007 9:38 AM To: axis-user@ws.apache.org Subject: RE: Axis 1.4 and .NET interop Jeff I am using WRAPPED/LITERAL style in WSDL. My question was about java specific objects. Have you been successful in integrating .NET client with axis 1.4 WS using the wrapped/literal approach ? MN "Walker, Jeff" <[EMAIL PROTECTED]> wrote: Anne means Document Literal Wrapped style. Go here to see a good definition of the 4 major styles: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ The style we are advocating means you need to write XML Schema and place it into your wsdl file. Then you run your wsdl file through WSDL2Java to generate a bunch of serializer and deserializer classes. The command is something like: %>java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy true .wsdl Regards, -jeff _ From: M N [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 16, 2007 8:56 AM To: axis-user@ws.apache.org Subject: Re: Axis 1.4 and .NET interop Thanks Anne. when you say Java specific types I assume you talking about something like Collections,arraylists etc. So far I dont have anything like that. Anne Thomas Manes <[EMAIL PROTECTED]> wrote: Wrapped style is the way to go. But you still might encounter problems if your service is exposing Java-specific types. Anne On 10/16/07, M N wrote: > We have been using AXIS 1.1 ( yeah I know its old) for past few years with > Jboss and everythings looks fine.We have removed the jbossws.sar directory > completely. > > Anyway so we have this new requirement where we have to provide webservices > to a .NET client. No matter what we provide .NET client keeps getting > exceptions. We found yesterday that .NET does not support RPC transport from > java webservices. So we decided to use DOCUMENT/LITERAL style in WSDL ( > created using ANT JAVA2WSDL tool) . But then even when I test the WS from > Java side it keeps giving me NOT A ARGUMENT(or something like that) error. I > read later on that AXIS 1.1 doesnt support the DOCUMENT/LITERAL style well. > So we decided to upgrade to 1.4. > > I still kept getting the NOT A ERROR except when I > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL style. Any > other style doesnt seem to work. So now with WRAPPED/LITERAL style my Java > client stubs can successfully work with Java WSs. We will be testing it with > .NET tomorrow. I am wondering if it will work and there wont be any > exceptions. > > Thanks > > > > Moody friends. Drama queens.
Re: Axis 1.4 and .NET interop
I wanted to find out my code on 2.1.3 distro WSDL2Java/WSDl2Code could not generate 'SERVER-SIDE' code a quick look at org.apache.axis2.wsdl.util.WSDL2JavaOptionsValidator states invalid = !(WSDL2JavaConstants.All_PORTS_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.All_PORTS_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.BACKWORD_COMPATIBILITY_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.BACKWORD_COMPATIBILITY_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.CODEGEN_ASYNC_ONLY_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.CODEGEN_ASYNC_ONLY_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.CODEGEN_SYNC_ONLY_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.CODEGEN_SYNC_ONLY_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.DATA_BINDING_TYPE_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.DATA_BINDING_TYPE_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.EXTERNAL_MAPPING_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.EXTERNAL_MAPPING_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.FLATTEN_FILES_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.FLATTEN_FILES_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.GENERATE_ALL_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.GENERATE_ALL_OPTION_LONG.equalsIgnoreCase(optionType) || WSDL2JavaConstants.GENERATE_SERVICE_DESCRIPTION_OPTION.equalsIgnoreCase(optionType) || WSDL2JavaConstants.GENERATE_SERVICE_DESCRIPTION_OPTION_LONG.equalsIgnoreCase so I attempted to locate GENERATE_SERVICE_DESCRIPTION_OPTION from WSDL2JavaConstants and cant locate??? I'll use the one from muse http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-tools/src/org/apache/muse/tools/generator/Wsdl2JavaConstants.java?view=markup package org.apache.muse.tools.generator; public interface Wsdl2JavaConstants { String ANALYZER_FLAG = "-analyzer"; String SYNTHESIZER_FLAG = "-synthesizer"; String PROJECTIZER_FLAG = "-projectizer"; String DESCRIPTOR_FLAG = "-descriptor"; String WSDL_DEFINITION_FLAG = "-wsdl"; String BASE_DESCRIPTOR_FLAG = "-dump"; String OVERWRITE_FLAG = "-overwrite"; String HELP_FLAG = "-help"; String HELP_ADVANCED_FLAG = "-helpmore"; String VERBOSE_FLAG = "-verbose"; String QUIET_FLAG = "-quiet"; String OSGI_FLAG = "-osgi"; String MINI_TYPE = "mini"; String AXIS2_TYPE = "axis2"; String J2EE_FLAG = "-j2ee"; String PROXY_FLAG = "-proxy"; String HEADERS_FLAG = "-headers"; String VERSION_FLAG = "-version"; String OUTPUT_FLAG = "-output"; String MUSE_BASE_DESCRIPTOR = "/resources/common/muse.xml"; } trying to locate GENERATE_SERVICE_DESCRIPTION_OPTION ? Thanks/ Martin-- - Original Message - From: Walker, Jeff To: axis-user@ws.apache.org Sent: Tuesday, October 16, 2007 9:58 AM Subject: RE: Axis 1.4 and .NET interop Yes. My client is a .NET application. We use Doc/Literal-wrapped. My web service is hosted on WebSphere 6.1. (It uses IBM's home-grown implementation of the JAX-RPC standard. We are not using Axis on this project, but previous projects I was on used Axis 1.3 and had .NET clients. There were no issues once both parties agreed to the interface layout and schema). No java objects of any kind are transferred. We wrote a lot of XML Schema to represent the data going back and forth. As long as you keep to using doc/literal-wrapped, and use schema to represent all data passed, you should have no issues with .NET. Read the IBM web page I put in the link below, It's a very good article and spells it out nicely. -jeff -- From: M N [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 16, 2007 9:38 AM To: axis-user@ws.apache.org Subject: RE: Axis 1.4 and .NET interop Jeff I am using WRAPPED/LITERAL style in WSDL. My question was about java specific objects. Have you been successful in integrating .NET client with axis 1.4 WS using the wrapped/literal approach ? MN "Walker, Jeff" <[EMAIL PROTECTED]> wrote: Anne means Document Literal Wrapped style. Go here to see a good definition of the 4 major styles: http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ The style we are advocating means you n
Re: Axis 1.4 and .NET interop
If you've defined the schema separately, you can import the schema: Otherwise, you can just define the schema inline. If you run java2wsdl specifying wrapped style and literal use, it will generate the schema for you. As long as your interface doesn't use Collections, it should work pretty well, but you need to upgrade to Axis 1.4. Arrays and nulls can sometimes cause a few stumbling blocks, but you should be able to make it work. Anne On 10/16/07, Dimitris Mouchritsas <[EMAIL PROTECTED]> wrote: > Walker, Jeff wrote: > > Anne means Document Literal Wrapped style. > > Go here to see a good definition of the 4 major styles: > > http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ > > The style we are advocating means you need to write XML Schema and > > place it into your wsdl file. Then you run your wsdl file through > > WSDL2Java to generate a bunch of serializer and deserializer classes. > > The command is something like: > > %>java org.apache.axis.wsdl.WSDL2Java --server-side --skeletonDeploy > > true .wsdl > > Regards, > > -jeff > > > > > > > > *From:* M N [mailto:[EMAIL PROTECTED] > > *Sent:* Tuesday, October 16, 2007 8:56 AM > > *To:* axis-user@ws.apache.org > > *Subject:* Re: Axis 1.4 and .NET interop > > > > Thanks Anne. > > > > when you say Java specific types I assume you talking about > > something like Collections,arraylists etc. So far I dont have > > anything like that. > > > > > > > > */Anne Thomas Manes <[EMAIL PROTECTED]>/* wrote: > > > > Wrapped style is the way to go. But you still might encounter > > problems > > if your service is exposing Java-specific types. > > > > Anne > > > > On 10/16/07, M N wrote: > > > We have been using AXIS 1.1 ( yeah I know its old) for past > > few years with > > > Jboss and everythings looks fine.We have removed the > > jbossws.sar directory > > > completely. > > > > > > Anyway so we have this new requirement where we have to > > provide webservices > > > to a .NET client. No matter what we provide .NET client > > keeps getting > > > exceptions. We found yesterday that .NET does not support > > RPC transport from > > > java webservices. So we decided to use DOCUMENT/LITERAL > > style in WSDL ( > > > created using ANT JAVA2WSDL tool) . But then even when I > > test the WS from > > > Java side it keeps giving me NOT A ARGUMENT(or something > > like that) error. I > > > read later on that AXIS 1.1 doesnt support the > > DOCUMENT/LITERAL style well. > > > So we decided to upgrade to 1.4. > > > > > > I still kept getting the NOT A ERROR except when I > > > mention in ANT JAVA2WSDL utility that I need WRAPPED/LITERAL > > style. Any > > > other style doesnt seem to work. So now with WRAPPED/LITERAL > > style my Java > > > client stubs can successfully work with Java WSs. We will be > > testing it with > > > .NET tomorrow. I am wondering if it will work and there wont > > be any > > > exceptions. > > > > > > Thanks > > > > > > > > > > > > Moody friends. Drama queens. Your life? Nope! - their life, > > your story. > > > Play Sims Stories at Yahoo! Games. > > > > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > Pinpoint customers > > > > <http://us.rd.yahoo.com/evt=48250/*http://searchmarketing.yahoo.com/arp/sponsoredsearch_v9.php?o=US2226&cmp=Yahoo&ctv=AprNI&s=Y&s2=EM&b=50>who > > are looking for what you sell. > > > Mmm, how exactly do you put your schema in your wsdl file? And is there > a way to validate the xml comming in and out (with RawXMLInOutReceiver) > in Java 1.4; > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]