You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alexander Hachmann <ax...@thesofa.de> on 2006/10/30 21:31:29 UTC
Document/Literal, .Net and Array as Result
Hello,
I had a Servicemethod with the following Signature deployed in RPC/Encoded
style with Axis.
The call worked fine and even in .Net I had no problems with retrieving the
result Array.
Public Syndication[] findByDate(Calendar from, Calendar to);
Now I have to change the Style to Document/Literal. This forced me to modify
the Signatrure to
Public Syndication[] findByDate(FindByDateParameter p);
Now my Problem is, that calling the Service through .Net ends up in a null
result, although the SOAP Message
contains 257 Objects. Do I have to change the Resulttype in any way? Is it
possible to return Arrays?
The First few lines of the SOAP answert look like this:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<pReturn xmlns="http://ws.epgdata.com">
<item xmlns="">
<actionValue>0</actionValue>
<actor>
</actor>
<additionalInfo>
</additionalInfo>
<ageMarker>0</ageMarker>
<asvAid>11934825</asvAid>
<asvSid>213-0-14466259</asvSid>
<attribute>
</attribute>
<author>Von Wolfgang Wegner</author>
<broadcastDay>20060930</broadcastDay>
<broadcastId>20703912</broadcastId>
<category>Information</category>
<categoryId>500</categoryId>
<charakter>Dokumentation</charakter>
<collectInfo>
I Noticed, that the namespace in the items are left blank. Could this be the
reason, and where would i have to change this? The WSDL was made through
AXIS with the following WSDD:
<service name="SyndikationService" provider="java:RPC" style="document"
use="literal">
<parameter name="className" value="com.epgdata.ws.SyndikationService"/>
<parameter name="allowedMethods" value="findeByDate"/>
<parameter name="scope" value="session"/>
<requestFlow>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow>
<handler type="soapmonitor"/>
</responseFlow>
<beanMapping qname="ns:FindByDateParamter"
xmlns:ns="parameter.ws.epgdata.com"
languageSpecificType="java:com.epgdata.ws.parameter.FindByDateParameter"/>
<beanMapping qname="ns:Syndikation" xmlns:ns="api.syndication.epgdata.com"
languageSpecificType="java:com.epgdata.syndication.api.Syndikation"/>
</service>
Thx,
Alexander
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org
AW: Document/Literal, .Net and Array as Result
Posted by Alexander Hachmann <ax...@thesofa.de>.
Hi,
>I tried that now and it did work. Thank you! Another Issue for .Net is,
that Interfaces are
>marked
>as abstract="true" by Axis. .Net implements these Classes Abstract. You
need to remove this mark
>in the Sourcecode. Otherwise .Net will nether create Objects nor throw any
Exception :-0
This is not completle True:-/ Now .Net initiates instances, but leaves the
attributes empty.
I know that this is an Axis list and not .Net. But perhaps anyone had this
experienced yet?
Thanks,
Alexander
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org
AW: Document/Literal, .Net and Array as Result
Posted by Alexander Hachmann <ax...@thesofa.de>.
Hi,
I tried that now and it did work. Thank you! Another Issue for .Net is, that
Interfaces are marked
as abstract="true" by Axis. .Net implements these Classes Abstract. You need
to remove this mark
in the Sourcecode. Otherwise .Net will nether create Objects nor throw any
Exception :-0
Now i have a slight problem with axis on this service. I found threads on
this problem aswell, but no solution.
org.xml.sax.SAXException: No object was found for class type class
java.util.Calendar
for fields with the content Type xsd:dateTime :-/ This shows me, that at
least Axis tries to create the Syndication Array but has problems with that
type.
Any Ideas?
Thx,
Alexander
-----Ursprüngliche Nachricht-----
Von: Anne Thomas Manes [mailto:atmanes@gmail.com]
Gesendet: Montag, 30. Oktober 2006 23:02
An: axis-user@ws.apache.org
Betreff: Re: Document/Literal, .Net and Array as Result
Have you tried style="wrapped"? It produces a doc/literal service, but let's
you maintain the original signature. If you want to use document style, then
you will have to define a wrapper element for your return array.
Anne
On 10/30/06, Alexander Hachmann <ax...@thesofa.de> wrote:
> Hello,
>
> I had a Servicemethod with the following Signature deployed in
> RPC/Encoded style with Axis.
> The call worked fine and even in .Net I had no problems with
> retrieving the result Array.
>
> Public Syndication[] findByDate(Calendar from, Calendar to);
>
> Now I have to change the Style to Document/Literal. This forced me to
> modify the Signatrure to
>
> Public Syndication[] findByDate(FindByDateParameter p);
>
> Now my Problem is, that calling the Service through .Net ends up in a
> null result, although the SOAP Message contains 257 Objects. Do I have
> to change the Resulttype in any way? Is it possible to return Arrays?
>
> The First few lines of the SOAP answert look like this:
>
> <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <pReturn xmlns="http://ws.epgdata.com">
> <item xmlns="">
> <actionValue>0</actionValue>
> <actor>
> </actor>
> <additionalInfo>
> </additionalInfo>
> <ageMarker>0</ageMarker>
> <asvAid>11934825</asvAid>
> <asvSid>213-0-14466259</asvSid>
> <attribute>
> </attribute>
> <author>Von Wolfgang Wegner</author>
> <broadcastDay>20060930</broadcastDay>
> <broadcastId>20703912</broadcastId>
> <category>Information</category>
> <categoryId>500</categoryId>
> <charakter>Dokumentation</charakter>
> <collectInfo>
>
> I Noticed, that the namespace in the items are left blank. Could this
> be the reason, and where would i have to change this? The WSDL was
> made through AXIS with the following WSDD:
>
> <service name="SyndikationService" provider="java:RPC" style="document"
> use="literal">
> <parameter name="className" value="com.epgdata.ws.SyndikationService"/>
> <parameter name="allowedMethods" value="findeByDate"/>
> <parameter name="scope" value="session"/>
> <requestFlow>
> <handler type="soapmonitor"/>
> </requestFlow>
> <responseFlow>
> <handler type="soapmonitor"/>
> </responseFlow>
> <beanMapping qname="ns:FindByDateParamter"
> xmlns:ns="parameter.ws.epgdata.com"
>
> languageSpecificType="java:com.epgdata.ws.parameter.FindByDateParameter"/>
> <beanMapping qname="ns:Syndikation"
xmlns:ns="api.syndication.epgdata.com"
>
> languageSpecificType="java:com.epgdata.syndication.api.Syndikation"/>
> </service>
>
> Thx,
> Alexander
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org
Re: Document/Literal, .Net and Array as Result
Posted by Anne Thomas Manes <at...@gmail.com>.
Have you tried style="wrapped"? It produces a doc/literal service, but
let's you maintain the original signature. If you want to use document
style, then you will have to define a wrapper element for your return
array.
Anne
On 10/30/06, Alexander Hachmann <ax...@thesofa.de> wrote:
> Hello,
>
> I had a Servicemethod with the following Signature deployed in RPC/Encoded
> style with Axis.
> The call worked fine and even in .Net I had no problems with retrieving the
> result Array.
>
> Public Syndication[] findByDate(Calendar from, Calendar to);
>
> Now I have to change the Style to Document/Literal. This forced me to modify
> the Signatrure to
>
> Public Syndication[] findByDate(FindByDateParameter p);
>
> Now my Problem is, that calling the Service through .Net ends up in a null
> result, although the SOAP Message
> contains 257 Objects. Do I have to change the Resulttype in any way? Is it
> possible to return Arrays?
>
> The First few lines of the SOAP answert look like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <pReturn xmlns="http://ws.epgdata.com">
> <item xmlns="">
> <actionValue>0</actionValue>
> <actor>
> </actor>
> <additionalInfo>
> </additionalInfo>
> <ageMarker>0</ageMarker>
> <asvAid>11934825</asvAid>
> <asvSid>213-0-14466259</asvSid>
> <attribute>
> </attribute>
> <author>Von Wolfgang Wegner</author>
> <broadcastDay>20060930</broadcastDay>
> <broadcastId>20703912</broadcastId>
> <category>Information</category>
> <categoryId>500</categoryId>
> <charakter>Dokumentation</charakter>
> <collectInfo>
>
> I Noticed, that the namespace in the items are left blank. Could this be the
> reason, and where would i have to change this? The WSDL was made through
> AXIS with the following WSDD:
>
> <service name="SyndikationService" provider="java:RPC" style="document"
> use="literal">
> <parameter name="className" value="com.epgdata.ws.SyndikationService"/>
> <parameter name="allowedMethods" value="findeByDate"/>
> <parameter name="scope" value="session"/>
> <requestFlow>
> <handler type="soapmonitor"/>
> </requestFlow>
> <responseFlow>
> <handler type="soapmonitor"/>
> </responseFlow>
> <beanMapping qname="ns:FindByDateParamter"
> xmlns:ns="parameter.ws.epgdata.com"
>
> languageSpecificType="java:com.epgdata.ws.parameter.FindByDateParameter"/>
> <beanMapping qname="ns:Syndikation" xmlns:ns="api.syndication.epgdata.com"
> languageSpecificType="java:com.epgdata.syndication.api.Syndikation"/>
> </service>
>
> Thx,
> Alexander
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org