Hi, you are dealing with a complete mess of no longer really working stuff. The axis 1 framework used in the old WebServices framework was great problems handling these complex types, actually I would consider this broken.
Please take a look at the ERJaxWS framework and the talk about it from this years WOWODC. The new framework enables you creating webservices using JaxWS fully integrated into WO / Wonder. regards, Markus > Am 30.10.2014 um 17:34 schrieb Daniele Corti <[email protected]>: > > Hi all, > I'm trying to produce a WebService that create and return a list of > ERXGenericRecord. > > The WS works correctly (I can create the Record in the DB passing the > parameter I need to create it). But when I call the other action, that return > all the objects from an entity, and try to return a NSarray with the Objects > fetched from the DB, I get this error: > > IOException: No serializer found for class org.apache.log4j.Logger in > registry org.apache.axis.encoding.TypeMappingDelegate@1896d2c2 > at > org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1507) > > at > org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:980) > > at > org.apache.axis.encoding.SerializationContext.outputMultiRefs(SerializationContext.java:1055) > > at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:145) > > at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:478) > > at org.apache.axis.message.MessageElement.output(MessageElement.java:1208) > > at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315) > > at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:632) > > at org.apache.axis.Message.getSOAPPartAsString(Message.java:412) > > ... skipped 10 stack elements > > > I've followed this Guide to prepare the WS: > http://wiki.wocommunity.org/display/documentation/Web+Services-Web+Service+Provider > > Because, the WS is serializing a complextype I've added also added the > Factories for the EO. > WOWebServiceRegistrar.registerFactoriesForClassWithQName( > > new BeanSerializerFactory(TestPicture.class, new > QName("http://ws.app.your", "TestPicture")), > > new BeanDeserializerFactory(TestPicture.class, new > QName("http://ws.app.your", "TestPicture")), > > TestPicture.class, new QName("http://ws.app.your", > "TestPicture")); > > > > > > WOWebServiceRegistrar.registerWebService("ImageUpload", ImageUpload.class, > true); > > > > Where TestPicture is my EO class, and ImageUpload is my WS. > > The WS class ImageUpload has two methods: > > public static boolean uploadPicture(String datas); > public NSArray<TestPicture> getPictures(); > > > The WSDL is shown correctly, but I don't see the definition for the Complex > Type: > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions > targetNamespace="http://imac-di-daniele:8888/cgi-bin/WebObjects/WSTester.woa/ws/ImageUpload" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:impl="http://imac-di-daniele:8888/cgi-bin/WebObjects/WSTester.woa/ws/ImageUpload" > > xmlns:intf="http://imac-di-daniele:8888/cgi-bin/WebObjects/WSTester.woa/ws/ImageUpload" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:tns1="http://www.apple.com/webobjects/webservices/soap/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <!--WSDL created by Apache Axis version: 1.4 > Built on Apr 22, 2006 (06:55:48 PDT)--> > <wsdl:types><schema > targetNamespace="http://www.apple.com/webobjects/webservices/soap/" > xmlns="http://www.w3.org/2001/XMLSchema"> > <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> > <complexType name="NSArray"> > <complexContent> > <restriction base="soapenc:Array"> > <attribute ref="soapenc:arrayType" > wsdl:arrayType="xsd:anyType[]"/> > </restriction> > </complexContent> > </complexType> > </schema></wsdl:types> > <wsdl:message name="getPicturesResponse"> > <wsdl:part name="getPicturesReturn" type="tns1:NSArray"/> > </wsdl:message> > <wsdl:message name="uploadPictureRequest"> > <wsdl:part name="datas" type="soapenc:string"/> > </wsdl:message> > <wsdl:message name="uploadPictureResponse"> > <wsdl:part name="uploadPictureReturn" type="xsd:boolean"/> > </wsdl:message> > <wsdl:message name="getPicturesRequest"> > </wsdl:message> > <wsdl:portType name="ImageUpload"> > <wsdl:operation name="uploadPicture" parameterOrder="datas"> > <wsdl:input message="impl:uploadPictureRequest" > name="uploadPictureRequest"/> > <wsdl:output message="impl:uploadPictureResponse" > name="uploadPictureResponse"/> > </wsdl:operation> > <wsdl:operation name="getPictures"> > <wsdl:input message="impl:getPicturesRequest" > name="getPicturesRequest"/> > <wsdl:output message="impl:getPicturesResponse" > name="getPicturesResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="ImageUploadSoapBinding" type="impl:ImageUpload"> > <wsdlsoap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="uploadPicture"> > <wsdlsoap:operation soapAction=""/> > <wsdl:input name="uploadPictureRequest"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://ws.app.your" use="encoded"/> > </wsdl:input> > <wsdl:output name="uploadPictureResponse"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://imac-di-daniele:8888/cgi-bin/WebObjects/WSTester.woa/ws/ImageUpload" > use="encoded"/> > </wsdl:output> > </wsdl:operation> > <wsdl:operation name="getPictures"> > <wsdlsoap:operation soapAction=""/> > <wsdl:input name="getPicturesRequest"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://ws.app.your" use="encoded"/> > </wsdl:input> > <wsdl:output name="getPicturesResponse"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://imac-di-daniele:8888/cgi-bin/WebObjects/WSTester.woa/ws/ImageUpload" > use="encoded"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="ImageUpload"> > <wsdl:port binding="impl:ImageUploadSoapBinding" name="ImageUpload"> > <wsdlsoap:address > location="http://imac-di-daniele:8888/cgi-bin/WebObjects/WSTester.woa/ws/ImageUpload"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > > I really have no idea of what I am wrong... Googling the error, I've not > found something useful... > > Thanks in advance for any help! > > -- > Daniele Corti > -- > I DON'T DoubleClick > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/markus.stoll%40junidas.de > > This email sent to [email protected] -- Dr. Markus Stoll (Geschäftsführer) [email protected] junidas GmbH, Aixheimer Str. 12, 70619 Stuttgart Tel. +49 (711) 4599799-11, Fax +49 (711) 4599799-10 Geschäftsführer: Dr. Markus Stoll, Matthias Zepf Amtsgericht Stuttgart, HRB 21939
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
