Common Problems
Global field values that the plug-in uses (like the WDSL URL) are not retained when run from FileMaker Server
Globals edited in a client session are only valid for that client session. If you make the changes to a file copy and then re-upload to the server, they should stick.
The plug-in cannot parse the WSDL I want to use, or does not correctly create the necessary parameters. What do I do?
First check to see if the service also provides a REST API (e.g. HTTP POST or HTTP GET) as an alternate to a SOAP/WSDL API. Most .NET-based services provide all three options. If that's the case, you can just pass XML over HTTP using FmNx_HTTP_POST, or pass url parameters using FmNx_HTTP_GET.
If only SOAP is supported, you can emulate a SOAP request using the plug-in's FmNx_HTTP_POST function.
In either case you will be able to create requests that are compatible with the web service, but some extra steps are required to build the XML.
Example:
_FmNx_HTTP_POST ( "http://www.webservicex.net/CurrencyConvertor.asmx" ; MY_TABLE::field_with_xml_body ; "txt" ; "false" ; "Content-Type: text/xml; charset=utf-8" ; "SOAPAction: \"http://www.webserviceX.NET/ConversionRate\"" )
Important:
- It really helps if you have an example request that you can use as a model. For many .NET services, viewing the service URL in a browser will give you a list of operations (e.g. http://www.webservicex.net/CurrencyConvertor.asmx). Then if you click on the operation link, complete examples of what requests should look like are provided (e.g. http://www.webservicex.net/CurrencyConvertor.asmx?op=ConversionRate).
- You will will need to specify at least the Content-Type header. For SOAP 1.1, the SOAP Action header would also be required.
- One limitation of this method is that it may send data using the file system's native encoding format instead of UTF-8. So if you have problems with the server detecting a problem with the 'utf-8' references in the two key places (the Content-Type header and the first line of the XML), try switching to 'ISO-8859-1' or 'Windows-1252' (if running on Windows) or 'macintosh' (if running on Mac).
No response to request; I don't know if my request made it to the server.
You should get an error back if the plug-in hits a connection timeout or a communication error on a request. By default the timeout is quite long, and you can reduce it by setting the timeout pref.
_FmNx_SetPref( “WSDL_name_or_REST_domain_name:http_timeout=10” )
Please see Beta Documentation: Setting and Getting Preferences
Just be sure not to set it to 60 seconds or higher -- this creates problems.
My XPath Query returns blank or 0
The likely problem is that namespaces are not properly defined for the query. Please see Beta Documentation: Parsing Responses and other XML with XPATH.
The plug-in is not being loaded by FileMaker after installation.
On FileMaker Pro client, you must quit and relaunch FileMaker before the plug-in will be recognized.
For FileMaker Server, you must stop and start the Database Server after installing the plug-in in the correct directory.
Error: Initializing CS: WsdlParser Exception : Unknown Wsdl tag at 1,0
This error means that no XML was found to parse (starting at line 1, position 0). If loading the WSDL from a URL, the server may be returning an error instead of a WSDL.
Comments