with an xml file with lots of methods, wsclient may give you a green light importing your WSDL file, but it wont import the elements...leading to confusion. this table should be changed:

wsclient_service.datatypes field need to be changed from 'text' to 'long text'

then everything works....hope this helps someone!

Comments

klausi’s picture

I see, so probably we should change it to size = medium (mediumtext, 16 MB on mysql, ought to be enough for anybody) according to http://drupal.org/node/159605

We need to change that in wsclient_schema() and add an update function wsclient_update_7101() that alters the table. Care to roll a patch?

funkeyrandy’s picture

sure ill hook up a patch when i get a minute

Darren Shelley’s picture

Completely agree with funkeyrandy.

I am integrating drupal with a thirdparty subscription fulfillment system which has over 280 methods and over 900 data types and believe wsclient_service.operations needs to be expanded to be more accomodating too.

If you beat me to a patch funkeyrandy please also increase the size of that column.

I would contemplate moving away from serialised columns to having a wsclient_service_operations and wsclient_service_datatypes table.

Klausi,
what is the vision for wsclient?
it seems absolutely awesome for small webservices.
Is there any reason my usecase would be too large? Or do you feel I should be able to successfully use wsclient for an integration of the scale highlighted above.

funkeyrandy’s picture

also...

in addition to the table issue, im having an issue with null values being read incorrectly...best error i could find was:

SoapFault: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object. at service.WebAPI.GetPerformancesCommand.Execute() at service.WebAPI.service.GetPerformancesEx3(String sWebSessionId, String sStartDate, String sEndDate, Int16 iVenueID, Int16 iModeOfSale, Int32 iBusinessUnit, String sSortString, String sKeywords, String cKeywordAndOrStatement, String sArtistLastName, String sFullText, String sFullTextType, String sContentType, String sPerformanceIds, String sSeasonIds) --- End of inner exception stack trace --- in SoapClient->__call() (line 3 of /srv/www/site.org/public_html/modules/php/php.module(74) : eval()'d code).

im wondering if this is a table issue as well as any patch should include this :)

any ideas? this happened for a method that grabs about 300 events...the method has about 8 request elements, but only requires 3...i leave the rest blank in my rule action

klausi’s picture

@Darren Shelly: I think it is not worth it to create separate tables for operations or datatypes because we do not query against them. They are just configuration items, we do not want to search them.

I think wsclient can work with larger services, too. However, I'm asking myself who on earth would create 280 operations in a single web service interface? Why not splitting it up to more reasonably sized services? (Must be a developer nightmare to maintain this)

Also the wsclient and Rules UIs would blow up, as each operation is mapped to an action in Rules and each operations is listed at the service description page.

Anyway, I'm willing to accept patches that increase the size of the DB columns + update functions.

lhugg’s picture

Great module, but it looks like this patch was agreed to in September but never actually completed. I just loaded the current version, and had to troubleshoot this again until I landed on this document. Changing both fields to medium definitely fixes issues with larger SOAP WSDL files that throw huge errors d/t this problem. Can this be included in the next version?

klausi’s picture

Sure, just create a patch and I'll review it.

sanduhrs’s picture

Title: Long xml needs to have a table character legnth changed » Long xml needs to have a table character length changed
Status: Active » Needs review
StatusFileSize
new1.68 KB

The attached patch changes the schema definition and adds a hook_update_7102.
Changed fields include 'datatypes' as per initial report and 'operations' as per #3.
Please review.

klausi’s picture

Status: Needs review » Fixed

Thanks! Committed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.