• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Web Services, Flex and RPC Fault from complex types
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Web Services, Flex and RPC Fault from complex types


  • Subject: Re: Web Services, Flex and RPC Fault from complex types
  • From: Francis Labrie <email@hidden>
  • Date: Wed, 10 Oct 2007 09:38:17 -0400

Hi,


Thomas wrote:
Thanks for your help, Francis.

It's true that the WSDL refers to EOGenericRecord but does not define it:

<complexType abstract="true" name="_Product"><complexContent><extension base="tns4:EOGenericRecord">

I previously saw your article about SOAP serialisers, and must confess I still don't understand how to use it after re-reading it. I don't have any custom serialisers, so where would I put your writeSchema() code fragment?


Well, I must confess some critical blocks are still missing in this document.

One thing you can try is to use Axis 1.0 instead of 1.1: IIRC, one colleague got this kind of missing type definition using Axis 1.1. Anyway, personnally I can't get WebObjects 5.3.x to use reliably other Axis 1.1+, so I always use 1.0. To to so, you must replace both files:

/Library/WebObjects/Extensions/axis.jar
/Library/WebObjects/Extensions/axis-ant.jar

If it's not enough, you can then try to subclass WOEnterpriseObjectSerializer and WOEnterpriseObjectSerializerFactory to force types definition (Warning: I didn't try this suggestion myself):


public class MyEnterpriseObjectDeserializerFactory extends WOEnterpriseObjectDeserializerFactory {
public MyEnterpriseObjectDeserializerFactory() {
super(MyEnterpriseObjectDeserializer.class);
}
}


public class MyEnterpriseObjectSerializer extends WOEnterpriseObjectDeserializer {
public WOEnterpriseObjectSerializer() {
super();
}

public boolean writeSchema(Types types) 
throws Exception {
// Add missing types
types.writeType(Foo.class, _FooQName);
...

return super.writeSchema(types);
}
}
}

Then add to your application constructor:


qName = new QName("http://eocontrol.webobjects.com", "EOGenericRecord");
WOWebServiceRegistrar.registerFactoriesForClassWithQName(
new MyEnterpriseObjectDeserializerFactory(),
new WOEnterpriseObjectSerializerFactory(),
 EOGenericRecord.class, qName);


Kind regards,

OS communications informatiquesFrancis Labrie, System Architect, OS communications informatiques - Your communication engine
email@hidden | Phone: (450) 676-1238 ext. 27 | Fax: (450) 676-5276

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Web Services, Flex and RPC Fault from complex types
      • From: Lachlan Deck <email@hidden>
References: 
 >Web Services, Flex and RPC Fault from complex types (From: Thomas <email@hidden>)
 >Re: Web Services, Flex and RPC Fault from complex types (From: Francis Labrie <email@hidden>)
 >Re: Web Services, Flex and RPC Fault from complex types (From: Thomas <email@hidden>)

  • Prev by Date: Re: Resource manager not finding nested files
  • Next by Date: Re: Resource manager not finding nested files
  • Previous by thread: Re: Web Services, Flex and RPC Fault from complex types
  • Next by thread: Re: Web Services, Flex and RPC Fault from complex types
  • Index(es):
    • Date
    • Thread