<?xml version="1.0" ?>
<g:definitions targetNamespace="http://frameWERKS.com/WebServices/" xmlns:1="http://schemas.xmlsoap.org/wsdl/" xmlns:_="http://schemas.xmlsoap.org/wsdl/" xmlns:e="http://schemas.xmlsoap.org/wsdl/" xmlns:g="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:n="http://schemas.xmlsoap.org/wsdl/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://frameWERKS.com/WebServices/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/">
  <g:types>
    <s:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://frameWERKS.com/WebServices/">
      <s:element name="EnCryptIt">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="EncryptionKey" nillable="true" type="s:string"/>
            <s:element maxOccurs="1" minOccurs="1" name="String2Encrypt" nillable="true" type="s:string"/>
            <s:element maxOccurs="1" minOccurs="1" name="ValidUserAccount" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="EnCryptItResponse">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="EnCryptItResult" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeCryptIt">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="EncryptionKey" nillable="true" type="s:string"/>
            <s:element maxOccurs="1" minOccurs="1" name="String2Encrypt" nillable="true" type="s:string"/>
            <s:element maxOccurs="1" minOccurs="1" name="ValidUserAccount" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeCryptItResponse">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="DeCryptItResult" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsSQLInjection">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="FieldValue" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsSQLInjectionResponse">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="IsSQLInjectionResult" type="s:boolean"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsValidDate">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="dDate" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="IsValidDateResponse">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="IsValidDateResult" type="s:boolean"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMonthsBetween">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="BeginMonth" nillable="true" type="s:string"/>
            <s:element maxOccurs="1" minOccurs="1" name="EndMonth" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMonthsBetweenResponse">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="GetMonthsBetweenResult" type="s:short"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetHTTPResult">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="ServerURL" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetHTTPResultResponse">
        <s:complexType>
          <s:sequence>
            <s:element maxOccurs="1" minOccurs="1" name="GetHTTPResultResult" nillable="true" type="s:string"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="string" nillable="true" type="s:string"/>
      <s:element name="boolean" type="s:boolean"/>
      <s:element name="short" type="s:short"/>
    </s:schema>
  </g:types>
  <g:message name="EnCryptItSoapIn">
    <g:part element="s0:EnCryptIt" name="parameters"/>
  </g:message>
  <g:message name="EnCryptItSoapOut">
    <g:part element="s0:EnCryptItResponse" name="parameters"/>
  </g:message>
  <g:message name="DeCryptItSoapIn">
    <g:part element="s0:DeCryptIt" name="parameters"/>
  </g:message>
  <g:message name="DeCryptItSoapOut">
    <g:part element="s0:DeCryptItResponse" name="parameters"/>
  </g:message>
  <g:message name="IsSQLInjectionSoapIn">
    <g:part element="s0:IsSQLInjection" name="parameters"/>
  </g:message>
  <g:message name="IsSQLInjectionSoapOut">
    <g:part element="s0:IsSQLInjectionResponse" name="parameters"/>
  </g:message>
  <g:message name="IsValidDateSoapIn">
    <g:part element="s0:IsValidDate" name="parameters"/>
  </g:message>
  <g:message name="IsValidDateSoapOut">
    <g:part element="s0:IsValidDateResponse" name="parameters"/>
  </g:message>
  <g:message name="GetMonthsBetweenSoapIn">
    <g:part element="s0:GetMonthsBetween" name="parameters"/>
  </g:message>
  <g:message name="GetMonthsBetweenSoapOut">
    <g:part element="s0:GetMonthsBetweenResponse" name="parameters"/>
  </g:message>
  <g:message name="GetHTTPResultSoapIn">
    <g:part element="s0:GetHTTPResult" name="parameters"/>
  </g:message>
  <g:message name="GetHTTPResultSoapOut">
    <g:part element="s0:GetHTTPResultResponse" name="parameters"/>
  </g:message>
  <g:message name="EnCryptItHttpGetIn">
    <g:part name="EncryptionKey" type="s:string"/>
    <g:part name="String2Encrypt" type="s:string"/>
    <g:part name="ValidUserAccount" type="s:string"/>
  </g:message>
  <g:message name="EnCryptItHttpGetOut">
    <g:part element="s0:string" name="Body"/>
  </g:message>
  <g:message name="DeCryptItHttpGetIn">
    <g:part name="EncryptionKey" type="s:string"/>
    <g:part name="String2Encrypt" type="s:string"/>
    <g:part name="ValidUserAccount" type="s:string"/>
  </g:message>
  <g:message name="DeCryptItHttpGetOut">
    <g:part element="s0:string" name="Body"/>
  </g:message>
  <g:message name="IsSQLInjectionHttpGetIn">
    <g:part name="FieldValue" type="s:string"/>
  </g:message>
  <g:message name="IsSQLInjectionHttpGetOut">
    <g:part element="s0:boolean" name="Body"/>
  </g:message>
  <g:message name="IsValidDateHttpGetIn">
    <g:part name="dDate" type="s:string"/>
  </g:message>
  <g:message name="IsValidDateHttpGetOut">
    <g:part element="s0:boolean" name="Body"/>
  </g:message>
  <g:message name="GetMonthsBetweenHttpGetIn">
    <g:part name="BeginMonth" type="s:string"/>
    <g:part name="EndMonth" type="s:string"/>
  </g:message>
  <g:message name="GetMonthsBetweenHttpGetOut">
    <g:part element="s0:short" name="Body"/>
  </g:message>
  <g:message name="GetHTTPResultHttpGetIn">
    <g:part name="ServerURL" type="s:string"/>
  </g:message>
  <g:message name="GetHTTPResultHttpGetOut">
    <g:part element="s0:string" name="Body"/>
  </g:message>
  <g:message name="EnCryptItHttpPostIn">
    <g:part name="EncryptionKey" type="s:string"/>
    <g:part name="String2Encrypt" type="s:string"/>
    <g:part name="ValidUserAccount" type="s:string"/>
  </g:message>
  <g:message name="EnCryptItHttpPostOut">
    <g:part element="s0:string" name="Body"/>
  </g:message>
  <g:message name="DeCryptItHttpPostIn">
    <g:part name="EncryptionKey" type="s:string"/>
    <g:part name="String2Encrypt" type="s:string"/>
    <g:part name="ValidUserAccount" type="s:string"/>
  </g:message>
  <g:message name="DeCryptItHttpPostOut">
    <g:part element="s0:string" name="Body"/>
  </g:message>
  <g:message name="IsSQLInjectionHttpPostIn">
    <g:part name="FieldValue" type="s:string"/>
  </g:message>
  <g:message name="IsSQLInjectionHttpPostOut">
    <g:part element="s0:boolean" name="Body"/>
  </g:message>
  <g:message name="IsValidDateHttpPostIn">
    <g:part name="dDate" type="s:string"/>
  </g:message>
  <g:message name="IsValidDateHttpPostOut">
    <g:part element="s0:boolean" name="Body"/>
  </g:message>
  <g:message name="GetMonthsBetweenHttpPostIn">
    <g:part name="BeginMonth" type="s:string"/>
    <g:part name="EndMonth" type="s:string"/>
  </g:message>
  <g:message name="GetMonthsBetweenHttpPostOut">
    <g:part element="s0:short" name="Body"/>
  </g:message>
  <g:message name="GetHTTPResultHttpPostIn">
    <g:part name="ServerURL" type="s:string"/>
  </g:message>
  <g:message name="GetHTTPResultHttpPostOut">
    <g:part element="s0:string" name="Body"/>
  </g:message>
  <g:portType name="HelpfulFunctionsSoap">
    <g:operation name="EnCryptIt">
      <g:documentation>
        Encrypt any string. Pass in your own encryption keys.
      </g:documentation>
      <g:input message="s0:EnCryptItSoapIn"/>
      <g:output message="s0:EnCryptItSoapOut"/>
    </g:operation>
    <g:operation name="DeCryptIt">
      <g:documentation>
        Decrypt any string. Pass in the same encryption key used to encrypt the string.
      </g:documentation>
      <g:input message="s0:DeCryptItSoapIn"/>
      <g:output message="s0:DeCryptItSoapOut"/>
    </g:operation>
    <g:operation name="IsSQLInjection">
      <g:documentation>
        Function is Used to determine if a Field Value possibly contains SQL Injection
      </g:documentation>
      <g:input message="s0:IsSQLInjectionSoapIn"/>
      <g:output message="s0:IsSQLInjectionSoapOut"/>
    </g:operation>
    <g:operation name="IsValidDate">
      <g:documentation>
        Makes sure that a Date value is truly a date value. Returns False if a time or SQL Injection is present.
      </g:documentation>
      <g:input message="s0:IsValidDateSoapIn"/>
      <g:output message="s0:IsValidDateSoapOut"/>
    </g:operation>
    <g:operation name="GetMonthsBetween">
      <g:documentation>
        Returns the number of months between two months. Useful for billing period displays.
      </g:documentation>
      <g:input message="s0:GetMonthsBetweenSoapIn"/>
      <g:output message="s0:GetMonthsBetweenSoapOut"/>
    </g:operation>
    <g:operation name="GetHTTPResult">
      <g:documentation>
        Retrieve results from web site pages. Great for reading formatted XML returns from scripts. Uses XMLHTTP. Solves any issues some .NET services may incur while using the COM Interop.
      </g:documentation>
      <g:input message="s0:GetHTTPResultSoapIn"/>
      <g:output message="s0:GetHTTPResultSoapOut"/>
    </g:operation>
  </g:portType>
  <g:portType name="HelpfulFunctionsHttpGet">
    <g:operation name="EnCryptIt">
      <g:documentation>
        Encrypt any string. Pass in your own encryption keys.
      </g:documentation>
      <g:input message="s0:EnCryptItHttpGetIn"/>
      <g:output message="s0:EnCryptItHttpGetOut"/>
    </g:operation>
    <g:operation name="DeCryptIt">
      <g:documentation>
        Decrypt any string. Pass in the same encryption key used to encrypt the string.
      </g:documentation>
      <g:input message="s0:DeCryptItHttpGetIn"/>
      <g:output message="s0:DeCryptItHttpGetOut"/>
    </g:operation>
    <g:operation name="IsSQLInjection">
      <g:documentation>
        Function is Used to determine if a Field Value possibly contains SQL Injection
      </g:documentation>
      <g:input message="s0:IsSQLInjectionHttpGetIn"/>
      <g:output message="s0:IsSQLInjectionHttpGetOut"/>
    </g:operation>
    <g:operation name="IsValidDate">
      <g:documentation>
        Makes sure that a Date value is truly a date value. Returns False if a time or SQL Injection is present.
      </g:documentation>
      <g:input message="s0:IsValidDateHttpGetIn"/>
      <g:output message="s0:IsValidDateHttpGetOut"/>
    </g:operation>
    <g:operation name="GetMonthsBetween">
      <g:documentation>
        Returns the number of months between two months. Useful for billing period displays.
      </g:documentation>
      <g:input message="s0:GetMonthsBetweenHttpGetIn"/>
      <g:output message="s0:GetMonthsBetweenHttpGetOut"/>
    </g:operation>
    <g:operation name="GetHTTPResult">
      <g:documentation>
        Retrieve results from web site pages. Great for reading formatted XML returns from scripts. Uses XMLHTTP. Solves any issues some .NET services may incur while using the COM Interop.
      </g:documentation>
      <g:input message="s0:GetHTTPResultHttpGetIn"/>
      <g:output message="s0:GetHTTPResultHttpGetOut"/>
    </g:operation>
  </g:portType>
  <g:portType name="HelpfulFunctionsHttpPost">
    <g:operation name="EnCryptIt">
      <g:documentation>
        Encrypt any string. Pass in your own encryption keys.
      </g:documentation>
      <g:input message="s0:EnCryptItHttpPostIn"/>
      <g:output message="s0:EnCryptItHttpPostOut"/>
    </g:operation>
    <g:operation name="DeCryptIt">
      <g:documentation>
        Decrypt any string. Pass in the same encryption key used to encrypt the string.
      </g:documentation>
      <g:input message="s0:DeCryptItHttpPostIn"/>
      <g:output message="s0:DeCryptItHttpPostOut"/>
    </g:operation>
    <g:operation name="IsSQLInjection">
      <g:documentation>
        Function is Used to determine if a Field Value possibly contains SQL Injection
      </g:documentation>
      <g:input message="s0:IsSQLInjectionHttpPostIn"/>
      <g:output message="s0:IsSQLInjectionHttpPostOut"/>
    </g:operation>
    <g:operation name="IsValidDate">
      <g:documentation>
        Makes sure that a Date value is truly a date value. Returns False if a time or SQL Injection is present.
      </g:documentation>
      <g:input message="s0:IsValidDateHttpPostIn"/>
      <g:output message="s0:IsValidDateHttpPostOut"/>
    </g:operation>
    <g:operation name="GetMonthsBetween">
      <g:documentation>
        Returns the number of months between two months. Useful for billing period displays.
      </g:documentation>
      <g:input message="s0:GetMonthsBetweenHttpPostIn"/>
      <g:output message="s0:GetMonthsBetweenHttpPostOut"/>
    </g:operation>
    <g:operation name="GetHTTPResult">
      <g:documentation>
        Retrieve results from web site pages. Great for reading formatted XML returns from scripts. Uses XMLHTTP. Solves any issues some .NET services may incur while using the COM Interop.
      </g:documentation>
      <g:input message="s0:GetHTTPResultHttpPostIn"/>
      <g:output message="s0:GetHTTPResultHttpPostOut"/>
    </g:operation>
  </g:portType>
  <g:binding name="HelpfulFunctionsSoap" type="s0:HelpfulFunctionsSoap">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <g:operation name="EnCryptIt">
      <soap:operation soapAction="http://frameWERKS.com/WebServices/EnCryptIt" style="document"/>
      <g:input>
        <soap:body use="literal"/>
      </g:input>
      <g:output>
        <soap:body use="literal"/>
      </g:output>
    </g:operation>
    <g:operation name="DeCryptIt">
      <soap:operation soapAction="http://frameWERKS.com/WebServices/DeCryptIt" style="document"/>
      <g:input>
        <soap:body use="literal"/>
      </g:input>
      <g:output>
        <soap:body use="literal"/>
      </g:output>
    </g:operation>
    <g:operation name="IsSQLInjection">
      <soap:operation soapAction="http://frameWERKS.com/WebServices/IsSQLInjection" style="document"/>
      <g:input>
        <soap:body use="literal"/>
      </g:input>
      <g:output>
        <soap:body use="literal"/>
      </g:output>
    </g:operation>
    <g:operation name="IsValidDate">
      <soap:operation soapAction="http://frameWERKS.com/WebServices/IsValidDate" style="document"/>
      <g:input>
        <soap:body use="literal"/>
      </g:input>
      <g:output>
        <soap:body use="literal"/>
      </g:output>
    </g:operation>
    <g:operation name="GetMonthsBetween">
      <soap:operation soapAction="http://frameWERKS.com/WebServices/GetMonthsBetween" style="document"/>
      <g:input>
        <soap:body use="literal"/>
      </g:input>
      <g:output>
        <soap:body use="literal"/>
      </g:output>
    </g:operation>
    <g:operation name="GetHTTPResult">
      <soap:operation soapAction="http://frameWERKS.com/WebServices/GetHTTPResult" style="document"/>
      <g:input>
        <soap:body use="literal"/>
      </g:input>
      <g:output>
        <soap:body use="literal"/>
      </g:output>
    </g:operation>
  </g:binding>
  <g:binding name="HelpfulFunctionsHttpGet" type="s0:HelpfulFunctionsHttpGet">
    <http:binding verb="GET"/>
    <g:operation name="EnCryptIt">
      <http:operation location="/EnCryptIt"/>
      <g:input>
        <http:urlEncoded/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="DeCryptIt">
      <http:operation location="/DeCryptIt"/>
      <g:input>
        <http:urlEncoded/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="IsSQLInjection">
      <http:operation location="/IsSQLInjection"/>
      <g:input>
        <http:urlEncoded/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="IsValidDate">
      <http:operation location="/IsValidDate"/>
      <g:input>
        <http:urlEncoded/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="GetMonthsBetween">
      <http:operation location="/GetMonthsBetween"/>
      <g:input>
        <http:urlEncoded/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="GetHTTPResult">
      <http:operation location="/GetHTTPResult"/>
      <g:input>
        <http:urlEncoded/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
  </g:binding>
  <g:binding name="HelpfulFunctionsHttpPost" type="s0:HelpfulFunctionsHttpPost">
    <http:binding verb="POST"/>
    <g:operation name="EnCryptIt">
      <http:operation location="/EnCryptIt"/>
      <g:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="DeCryptIt">
      <http:operation location="/DeCryptIt"/>
      <g:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="IsSQLInjection">
      <http:operation location="/IsSQLInjection"/>
      <g:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="IsValidDate">
      <http:operation location="/IsValidDate"/>
      <g:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="GetMonthsBetween">
      <http:operation location="/GetMonthsBetween"/>
      <g:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
    <g:operation name="GetHTTPResult">
      <http:operation location="/GetHTTPResult"/>
      <g:input>
        <mime:content type="application/x-www-form-urlencoded"/>
      </g:input>
      <g:output>
        <mime:mimeXml part="Body"/>
      </g:output>
    </g:operation>
  </g:binding>
  <g:service name="HelpfulFunctions">
    <g:port binding="s0:HelpfulFunctionsSoap" name="HelpfulFunctionsSoap">
      <soap:address location="http://www.framewerks.com/WebServices/helpfulfunctions/helpfulfunctions.asmx"/>
    </g:port>
    <g:port binding="s0:HelpfulFunctionsHttpGet" name="HelpfulFunctionsHttpGet">
      <http:address location="http://www.framewerks.com/WebServices/helpfulfunctions/helpfulfunctions.asmx"/>
    </g:port>
    <g:port binding="s0:HelpfulFunctionsHttpPost" name="HelpfulFunctionsHttpPost">
      <http:address location="http://www.framewerks.com/WebServices/helpfulfunctions/helpfulfunctions.asmx"/>
    </g:port>
  </g:service>
</g:definitions>
