Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
OpenBD and StrikeIron web services
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  3 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
AlHolden  
View profile  
 More options Jun 29, 5:17 pm
From: AlHolden <alhol...@akh.com>
Date: Mon, 29 Jun 2009 14:17:52 -0700 (PDT)
Local: Mon, Jun 29 2009 5:17 pm
Subject: OpenBD and StrikeIron web services
Has any built a successful call to one of StrikeIron's many web
service products using OpenBD?

Our enterprise uses their USPS address validation product, which takes
a user provided address, insures it exists, normalizes it to CASS stds
and adds geographic, carrier, county, congressional data, etc... The
credentials needed to validate a wsdl request can either be passed in
the header, or via service params. This example uses the former,
trying the later didn't seem to help.

I have tried my existing version of my own code (works on CF6,1) and
the generic sample code provided by StrikeIron here:
http://www.strikeiron.com/ProductDetail.aspx?p=198 (which works on
CF8,0,1). Both will work in CF, but throw an error on OpenBD 1.1

STRIKEIRON SAMPLE CODE START
<cfscript>
        args = structNew();
        //construct the feed list
        args.addressLine1 = '1060 W Addison St';
        args.addressLine2 = '';
        args.city_state_zip = 'Chicago IL';
        args.firm = '';
        args.urbanization = '';
        args.casing = 'Upper';

        //ru
        ru = XmlNew();
        ru.LicenseInfo = XmlElemNew(ru,"http://
ws.strikeiron.com","LicenseInfo");
        ru.LicenseInfo.RegisteredUser = XmlElemNew(ru,"http://
ws.strikeiron.com","RegisteredUser");
        ru.LicenseInfo.RegisteredUser.UserID = XmlElemNew(ru,"http://
ws.strikeiron.com","UserID");
        ru.LicenseInfo.RegisteredUser.UserID.XmlText =
"ins...@youremail.here";
        ru.LicenseInfo.RegisteredUser.Password = XmlElemNew(ru,"http://
ws.strikeiron.com","Password");
        ru.LicenseInfo.RegisteredUser.Password.XmlText = "yourPassword";

        //ru.LicenseInfo.UnregisteredUser = XmlElemNew(ru,"http://
ws.strikeiron.com","UnregisteredUser");
        //ru.LicenseInfo.UnregisteredUser.EmailAddress = XmlElemNew
(ru,"http://ws.strikeiron.com","EmailAddress");
        //ru.LicenseInfo.UnregisteredUser.EmailAddress.XmlText =
"ins...@youremail.here";

        //instantiate the object
        request.service = createObject("webservice","http://ws.strikeiron.com/
USAddressVerification4_0?WSDL");
        hdr=addSOAPRequestHeader(request.service,"http://
ws.strikeiron.com","LicenseInfo",ru.LicenseInfo);
        request.response = request.service.VerifyAddressUSA
(argumentCollection = args);
</cfscript>

<html>
<body>
<cfoutput>
<b>Inputs:</b><br>
                <b>RegisteredUser:</b> #ru.LicenseInfo.RegisteredUser.UserID# <br>
                <b>Address1:</b> #args.addressLine1# <br>
                <b>Address2:</b> #args.addressLine2# <br>
                <b>City State Zip:</b> #args.city_state_zip# <br><br>
<b>Results (getCounty):</b><br>
                <b>County:</b> #request.response.getCounty()#<br><br>
</cfoutput>
<cfdump var="#request.response#">
</body>
</html>
STRIKEIRON SAMPLE CODE END

The service works with valid credentials (or a validated test email)
on ColdFusion, but OpenBD throws the following General Runtime Error
(no stack trace for GRE's):

ERROR SNIP START
Type    Application
Detail  Unrecognized error code: Invalid web service operation. Cannot
locate operation VerifyAddressUSA that accepts parameters: { struct }
Tag Context     CFSCRIPT (/usr/local/tomcat/webapps/openbd/manageit/
developers/testAvs.cfm, Line=1, Column=1)
Source
28:   //instantiate the object
29:   request.service = createObject("webservice","http://
ws.strikeiron.com/USAddressVerification4_0?WSDL");
30:   hdr=addSOAPRequestHeader(request.service,"http://
ws.strikeiron.com","LicenseInfo",ru.LicenseInfo);
31:   request.response = request.service.VerifyAddressUSA
(argumentCollection = args);
32:
ERROR SNIP END

Just running these two lines on both systems will reveal some subtle
differences in the returned object:
<cfset request.service = createObject("webservice","http://
ws.strikeiron.com/USAddressVerification4_0?WSDL")>
<cfdump var="#request.service#">

This appears to be a compatibility issue, and - without a workaround -
represents a pretty significant issue in my development plans.

I'm running the J2EE version 1.1 with Apache Tomcat/6.0.14 on Ubuntu
Linux 8.04.1. The JRE is 1.6.0_10-b33. FYI: My local CF8 server is
using Java 1.6.0_04 and VM 10.0-b19

As always, your help is greatly appreciated. Contact me if you need
more. Thanks!

Alan K Holden


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Holden  
View profile  
 More options Jun 29, 7:33 pm
From: Alan Holden <alhol...@akh.com>
Date: Mon, 29 Jun 2009 16:33:02 -0700
Local: Mon, Jun 29 2009 7:33 pm
Subject: Re: [OpenBD] OpenBD and StrikeIron web services
The workaround is to omit the args structure entirely, and pass all the
params as a plain ol' list.

request.response = request.service.VerifyAddressUSA('1060 W Addison
St','','Chicago IL','','','Upper');
 From there, you can call the appropriate method in request.response to
get the corrected USPS info.

I'll work on getting a sample over to the StrikeIron folks, in the rare
event this bug is never confirmed.

I'll probably need to account for "Tam O' Shanter Avenue" in Florida too ;-)

Alan K. Holden


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matthew Woodward  
View profile  
 More options Jun 29, 7:35 pm
From: Matthew Woodward <m...@mattwoodward.com>
Date: Mon, 29 Jun 2009 16:35:21 -0700
Local: Mon, Jun 29 2009 7:35 pm
Subject: Re: [OpenBD] Re: OpenBD and StrikeIron web services

Alan Holden wrote:
> The workaround is to omit the args structure entirely, and pass all the
> params as a plain ol' list.

Thanks for answering your own question Alan! I had it on my list of
stuff to look into later. Great info for future reference. Thanks again.

--
Matthew Woodward
m...@mattwoodward.com
http://www.mattwoodward.com/blog

Please do not send me proprietary file formats such as Word, PowerPoint,
etc. as attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

  smime.p7s
4K Download

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google