HMAC SHA1 Signature for google

Hi,
I need to build a google signature using HMAC SHA1 and find a way to do it on our WAS 6.20 system
You can see the google explaination underhttp://code.google.com/apis/maps/documentation/premier/guide.html#URLSigning.
I Beleive I can use FM SSFC_BASE64_ENCODE and SSFC_BASE64_DECODE to do the base64 parts.
However, I don't know how to do the HMAC SHA1 part.
We don't have FM's like CALCULATE_HMAC_FOR_RAW in our system so I think I'll have to create a new FM but I have no idea how to build this.
Any ideas?

Hi James (or anybody else out there),
Did you ever determine an answer or solution to this?...some feed back whether you were successful or not would be interesting...
Note that we too would like to leverage the Google Enterprise / Google Map API for Business but have not (yet) figured out how to deal with SHA1 in ABAP.

Similar Messages

  • How to get digital signature for Google Map geocoding V3 in PL/SQL?

    Hi, Gurus:
        Could anyone provide me an example about how to generate digital signature for Google Maps service v3 in PL/SQL? We tried to upgrade our program using Google maps service from v2 to v3. We are using PL/SQl on background to send request to Google for geocoding. We found some sample code to register with digital signature, but none of them is based on PL/SQl. Notice I used Google business client ID "gme-XXX" and wallet.
    https://developers.google.com/maps/documentation/business/webservices/auth#digital_signatures
    Google Maps API - more URL signing samples
    Here is my code for V2. I notice in order to get signature, I need to use HMAC-SHA1 algorithm.
    procedure Get_Geocoding(P_s_Address in varchar2, P_s_Geocoding out varchar2, P_n_accuracy out number, P_b_success out boolean) is
      l_address varchar2(4000);
      l_url varchar2(32000);
      l_response varchar2(3200);
      n_first_comma number;
      n_second_comma number;
      n_level_length number;
    BEGIN
      /* TODO implementation required */
      l_address:=APEX_UTIL.URL_ENCODE(P_s_Address);
      l_address := replace(l_address,' ','+');
      l_url := 'http://maps.google.com/maps/geo?q='||l_address||'&'||'output=csv'||'&'||'client=gme-XXX';
    l_response := utl_http.request(l_url, APEX_APPLICATION.G_PROXY_SERVER, '/u02/app/oracle/admin/apexsb/wallet', 'XXXXXXXX');
      n_level_length:=0;
      n_first_comma:=instr(l_response,',',1,1);
      n_second_comma:=instr(l_response,',',1,2);
      n_level_length:=n_second_comma-n_first_comma-1;
      P_n_accuracy:=0;
      if n_level_length>0 then
      P_n_accuracy:=to_number(substr(l_response,n_first_comma+1, n_level_length));
      end if;
      l_response:=substr(l_response,instr(l_response,',',1,2)+1);
      --dbms_output.put_line('In function: l_response ='||l_response);
      P_s_Geocoding:=l_response;
      if (P_s_Geocoding<>'0,0') then
      P_b_success:=true;
      --dbms_output.put_line('true');
      else
      P_b_success:=false;
      --dbms_output.put_line('false');
      end if;
    END;
    Thanks!

    Hi, guys:
        I tried to generate digital signature for Google map service
         Maps for Business: Generating Valid Signatures - YouTube
        Generating an HMAC-SHA-1 Signature Using Only PL/SQL
          OAuth and the PL/SQL | Data Warehouse in the Cloud
       but I got error message from Google:
    Unable to authenticate the request. Provided 'signature' is not valid for the provided client ID. Learn more: https://developers.google.com/maps/documentation/business/webservices/auth
       I think there is something wrong with my code to generate signature, as if I remove the part regarding client and signature, it will work, can anyone help me on this problem?
    /*Procedure Get_Geocoding is used to get geocoding with accuracy level for V3 business account, you can find Google map digital signature descrirption from
    https://developers.google.com/maps/documentation/business/webservices/auth#digital_signatures
    if geocoding is 0,0, procedure returns false to indicate failure of get geocoding*/
    procedure Get_Geocoding2(P_s_Address in varchar2, P_s_Geocoding out varchar2, P_n_accuracy out number, P_b_success out boolean) is
      --private key for Google business account, this is provided by Google with client name.
      l_private_key_src varchar2(200):='xxxxxxxxxxxxxxxxxxx';
      l_private_key_b64_alter varchar2(200):= translate(l_private_key_src,'-_','+/');
      l_private_key_bin raw(2000);
      l_client_name varchar2(100):='gme-xxx';
      l_signature_mac raw(2000);
      l_signature_b64 varchar2(200);
      l_signature_b64_alter_back varchar2(200);
      l_Google_service_domain varchar2(200):='http://maps.googleapis.com';
      l_address varchar2(4000);
      l_url varchar2(32000);
      l_path varchar2(32000);
      l_response varchar2(32000);
      l_page UTL_HTTP.HTML_PIECES;
      n_actual_length number;
      json_obj json;
      json_tempobj json;
      jl_listOfValues json_list;
      json_geom_obj json;
      json_loc json;
      l_lat  VARCHAR2(40);
      l_lng  VARCHAR2(40);
      l_status VARCHAR2(255);
      json_accuracy json;
      --temp_string varchar2(10000);
      n_first_comma number;
      n_second_comma number;
      n_level_length number;
      BEGIN
    /* TODO implementation required */
    l_private_key_bin := utl_encode.base64_decode(UTL_I18N.string_to_raw(l_private_key_b64_alter, 'AL32UTF8'));
    l_address:=APEX_UTIL.URL_ENCODE(P_s_Address);
    --dbms_output.put_line(l_address);
    l_address := replace(l_address,' ','+');
    l_path := '/maps/api/geocode/json?address='||l_address||'&'||'sensor=true';
    dbms_output.put_line(l_path);
    l_signature_mac :=DBMS_CRYPTO.mac(UTL_I18N.string_to_raw(l_path, 'AL32UTF8'), DBMS_CRYPTO.hmac_sh1,l_private_key_bin);
    l_signature_b64:= UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(l_signature_mac));
    l_signature_b64_alter_back:=translate(l_signature_b64,'+/','-_');
    dbms_output.put_line(l_signature_b64_alter_back);
    --get response from Google map service
    l_url:=l_Google_service_domain||l_path||'&client='||l_client_name||'&signature='||l_signature_b64_alter_back;
    --l_url:=l_Google_service_domain||l_path;
    dbms_output.put_line(l_url);
    l_page:=utl_http.request_pieces( l_url, 99999);
    for i in 1..l_page.count loop
    l_response:=l_response||l_page(i);
    end loop;
    n_actual_length:=length(l_response);
    dbms_output.put_line(n_actual_length);
    dbms_output.put_line(l_response);
    --parse JSON result
    json_obj:=new json(l_response);
    l_status := json_ext.get_string(json_obj, 'status');
    IF l_status = 'OK' then
    jl_listOfValues := json_list(json_obj.get('results'));
    json_tempobj := json(jl_listOfValues.get(1));
    json_geom_obj := json(json_tempobj.get(3));
    json_loc := json_ext.get_json(json_geom_obj, 'location');
    l_lat := to_char(json_ext.get_number(json_loc, 'lat'));
    l_lng := to_char(json_ext.get_number(json_loc, 'lng'));
    P_s_Geocoding:=l_lat||','||l_lng;
    dbms_output.put_line('##########'||P_s_Geocoding);
    case json_ext.get_string(json_geom_obj, 'location_type')
    when 'ROOFTOP' then P_n_accuracy:=9;
    when 'RANGE_INTERPOLATED' then P_n_accuracy:=7;
    when 'GEOMETRIC_CENTER' then P_n_accuracy:=5;
    else P_n_accuracy:=3;
    end case;
    P_b_success:=true;
    else
    P_b_success:=false;
    P_n_accuracy:=0;
    P_s_Geocoding:='0,0';
    end if;
      END;

  • Hmac sha1 signature generation error.

    I'm using Flex Builder 4 for accessing cloudstack api and for getting responses. When i execute my flex program, the url is generated with commands, api and the signature. But the Xml is showing an error as below:
    <?xml version="1.0" encoding="UTF-8"?>
    -<listzonesresponse cloud-stack-version="4.0.1.20130201075054">
    <errorcode>401</errorcode><errortext>unable to verify user credentials and/or request signature
    </errortext></listzonesresponse>
    Is it the problem of encoding signature.? I'm using Hmac Sha1. When i did the process in python i got the output as list of zones. 
    Can anyone help me to correct the error?
    Thanks in advance!

    Hi James (or anybody else out there),
    Did you ever determine an answer or solution to this?...some feed back whether you were successful or not would be interesting...
    Note that we too would like to leverage the Google Enterprise / Google Map API for Business but have not (yet) figured out how to deal with SHA1 in ABAP.

  • JCOP & HMAC-SHA1 Signature

    Hello!
    I'm quite new to java card and I've encountered a problem.
    Whenever I add:
    HMACKey hmacKey = (HMACKey) KeyBuilder.buildKey(KeyBuilder.TYPE_HMAC, KeyBuilder.LENGTH_HMAC_SHA_1_BLOCK_64, false);JCOP simulator during upload throws this:
    Status: Wrong data
    jcshell: Error code: 6a80 (Wrong data)
    jcshell: Wrong response APDU: 6A80
    Unexpected error; aborting executionWithout that line, everything is ok. What is causing this problem?
    Using JCOP v3.2.8 with Java Card 2.2.2 API.
    Edit:
    Hmm, Is it because JCOP is based on 2.2.1 API?
    Cheers, Nikola
    Edited by: NikolaDP on Dec 12, 2009 9:11 AM

    Hi,
    This is because either the algorithm or key size are not supported by your card/simulator. You could try different key sizes to see what is supported.
    Having not used the version of JCOP Tools you are using I cannot say if that key is supported. Have you tried loading your code on to a physical card that supports this key? I have had problems in the past where JCOP Tools did not support AES but the JCOP card did. If this is the case, you may not be able to use the simulator.
    Cheers,
    Shane

  • Java.lang.SecurityException: invalid SHA1 signature file digest for com/cry

    While running AVK I've got following error reported on 3d party code we are using. Is there anything that I can do to resolve this issue?
    Thank you in advance,
    Irena
         Error Name : com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable
         Error Description : java.lang.SecurityException: invalid SHA1 signature file digest for com/crystaldecisions/MetafileRenderer/DeviceContext$GDIState.class
         at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:390)
         at sun.security.util.SignatureFileVerifier.process0(SignatureFileVerifier.java:241)
         at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:191)
         at java.util.jar.JarVerifier.processEntry(JarVerifier.java:235)
         at java.util.jar.JarVerifier.update(JarVerifier.java:190)
         at java.util.jar.JarFile.initializeVerifier(JarFile.java:304)
         at java.util.jar.JarFile.getInputStream(JarFile.java:366)
         at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:119)
         at java.net.URL.openStream(URL.java:913)
         at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:997)
         at com.sun.enterprise.tools.verifier.apiscan.classfile.BCELClassFileLoader.load(BCELClassFileLoader.java:69)
         at com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.buildClosure(ClosureCompilerImpl.java:170)
         at com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.buildClosure(ClosureCompilerImpl.java:176)
         at com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.buildClosure(ClosureCompilerImpl.java:176)
         at com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.buildClosure(ClosureCompilerImpl.java:176)
         at com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.buildClosure(ClosureCompilerImpl.java:133)
         at com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable.check(WebArchiveClassesLoadable.java:53)
         at com.sun.enterprise.tools.verifier.tests.web.WebTest.check(WebTest.java:46)
         at com.sun.enterprise.tools.verifier.CheckMgr.check(CheckMgr.java:76)
         at com.sun.enterprise.tools.verifier.web.WebCheckMgrImpl.check(WebCheckMgrImpl.java:32)
         at com.sun.enterprise.tools.verifier.BaseVerifier.verify(BaseVerifier.java:86)
         at com.sun.enterprise.tools.verifier.web.WebVerifier.verify(WebVerifier.java:43)
         at com.sun.enterprise.tools.verifier.VerificationHandler.runVerifier(VerificationHandler.java:136)
         at com.sun.enterprise.tools.verifier.VerificationHandler.verifyArchive(VerificationHandler.java:82)
         at com.sun.enterprise.tools.verifier.Verifier.verify(Verifier.java:75)
         at com.sun.enterprise.tools.verifier.Verifier.main(Verifier.java:53)

    could you solve the problem? while I'm connecting to sql server , I get the same error. in fact, i can connect to server through eclipse ide but when i export my application into a jar and try connecting to server through the jar, this problem occurs.
    I thought, you can give me a idea. I don't know where I should start. please, help me..
    Exception in thread "main" java.lang.SecurityException: invalid SHA1 signature f
    ile digest for com/microsoft/sqlserver/jdbc/SQLServerException.class
    at sun.security.util.SignatureFileVerifier.verifySection(Unknown Source)
    at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
    at sun.security.util.SignatureFileVerifier.process(Unknown Source)
    at java.util.jar.JarVerifier.processEntry(Unknown Source)
    at java.util.jar.JarVerifier.update(Unknown Source)
    at java.util.jar.JarFile.initializeVerifier(Unknown Source)
    at java.util.jar.JarFile.getInputStream(Unknown Source)
    at sun.misc.URLClassPath$JarLoader$2.getInputStream(Unknown Source)
    at sun.misc.Resource.cachedInputStream(Unknown Source)
    at sun.misc.Resource.getByteBuffer(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)

  • SHA1 Signature not in PKCS#7 Format

    Hello,
    we got a Problem with a Signet XML request.
    We want to Communicate with a service Provider via XML request. The interface of the Service Provider want to have a SHA1 signature of the Data we send. As fare es I now the SSF Library is only supporting Signatures in  PKCS#7 Format my question is if there is a solution just to gernerate the SHA1 Signature without having it in PKCS#7 Format.
    king regards
    Floran

    Hi oliver,
    thank you for your Answer. You are right. The Problem is the partner don't want the container format pkcs#7. He just want to have a SHA1/RSA signature value. No Container. Can I somhow extract the encryptet digest part out of the container in ABAP? Or is there a function module where I can generate a sha1/rsa signatur with the Keys from the SSF Keystore?
    king regards
    Florian

  • Ksetup: Enforce use of AES256-CTS-HMAC-SHA1-96 fails

    Hi,
    Windows 7 Home Premium x64 authenticating to a Kerberos 5 install on Ubuntu 14.04.2.  Please note the problems are not with the latter part, several Linux clients use the Kerberos KDC without issue, and an install of "Kerberos For Windows"
    with "Network Identity Manager" on the Windows 7 client works fine, but it does not integrate with the rest of the system, so...
    I have used Ksetup to set the realm, add a KDC, mapped the local user to the principal, and set the machine password (principal exists in the KDC); no problems.  However, the KDC is configured to only accept AES256-CTS-HMAC-SHA1-96.
    When I try the following it does not work:
    C:\>ksetup /setenctypeattr REALM AES256-CTS-HMAC-SHA1-96
    Setting enctypes for domain REALM to:AES256-CTS-HMAC-SHA1-96
    Setting enctypes on REALM failed with 0xc0000034
    Failed /SetEncTypeAttr : 0xc0000034
    C:\>ksetup /addenctypeattr REALM AES256-CTS-HMAC-SHA1-96
    Query of attributes on REALM failed with 0xc0000034
    Failed /AddEncTypeAttr : 0xc0000034
    When I perform a kinit, this is apparent (note that this is getting a response from the KDC, as using an invalid username results in a different error explicitly stating that it is invalid):
    C:\>kinit username
    Password for username@REALM:
    Exception: krb_error 14 KDC has no support for encryption type (14) - CANT_FIND_CLIENT_KEY KDC has no support for encryption type
    KrbException: KDC has no support for encryption type (14) - CANT_FIND_CLIENT_KEY
    at sun.security.krb5.KrbAsRep.<init>(Unknown Source)
    at sun.security.krb5.KrbAsReq.getReply(Unknown Source)
    at sun.security.krb5.KrbAsReq.getReply(Unknown Source)
    at sun.security.krb5.internal.tools.Kinit.sendASRequest(Unknown Source)
    at sun.security.krb5.internal.tools.Kinit.<init>(Unknown Source)
    at sun.security.krb5.internal.tools.Kinit.main(Unknown Source)
    Caused by: KrbException: Identifier doesn't match expected value (906)
    at sun.security.krb5.internal.KDCRep.init(Unknown Source)
    at sun.security.krb5.internal.ASRep.init(Unknown Source)
    at sun.security.krb5.internal.ASRep.<init>(Unknown Source)
    ... 6 more
    I have already set in the Group Policy settings the value of "Network security: Configure encryption types allowed for Kerberos" to "AES256_HMAC_SHA1" only.
    How can I force Windows to use the correct encryption type?
    For completeness, output of ksetup below:
    C:\>ksetup
    default realm = REALM (external)
    REALM:
    kdc = kdc.server.realm
    Realm Flags = 0x0No Realm Flags
    Mapping username@REALM to Username.
    Regards, Rob.
    Edit: Just found some interesting output in the KDC logs.  These are the only entries in there for the IP address of the Win7 client.
    Apr 04 11:15:23 hostname krb5kdc[1711](info): AS_REQ (4 etypes {18 17 16 23}) 10.x.x.x: CLIENT_NOT_FOUND: KERBEROS-KDC-PROBE@REALM for <unknown server>, Client not found in Kerberos database
    Apr 04 11:22:24 hostname krb5kdc[1711](info): AS_REQ (4 etypes {18 17 16 23}) 10.x.x.x: CLIENT_NOT_FOUND: KERBEROS-KDC-PROBE@REALM for <unknown server>, Client not found in Kerberos database
    Apr 04 11:34:02 hostname krb5kdc[1711](info): AS_REQ (5 etypes {3 1 23 16 17}) 10.x.x.x: CLIENT_NOT_FOUND: Username@REALM for <unknown server>, Client not found in Kerberos database
    Apr 04 11:34:18 hostname krb5kdc[1711](info): AS_REQ (5 etypes {3 1 23 16 17}) 10.x.x.x: CANT_FIND_CLIENT_KEY: username@REALM for krbtgt/REALM@REALM, KDC has no support for encryption type
    Apr 04 12:07:13 hostname krb5kdc[1711](info): AS_REQ (4 etypes {18 17 16 23}) 10.x.x.x: CLIENT_NOT_FOUND: KERBEROS-KDC-PROBE@REALM for <unknown server>, Client not found in Kerberos database
    Apr 04 12:33:45 hostname krb5kdc[1711](info): AS_REQ (2 etypes {18 3}) 10.x.x.x: ISSUE: authtime 1428147225, etypes {rep=18 tkt=18 ses=18}, username@REALM for krbtgt/REALM@REALM
    Apr 04 12:33:45 hostname krb5kdc[1711](info): TGS_REQ (1 etypes {18}) 10.x.x.x: BAD_ENCRYPTION_TYPE: authtime 0, username@REALM for cifs/nas.server.realm@REALM, KDC has no support for encryption type
    Apr 04 12:46:17 hostname krb5kdc[1711](info): AS_REQ (5 etypes {3 1 23 16 17}) 10.x.x.x: CANT_FIND_CLIENT_KEY: username@REALM for krbtgt/REALM@REALM, KDC has no support for encryption type

    Hi,
    I'm sorry but this problem do need to be post at Windows Server forum, please access to the link below to post your question at Windows Server Forum:
    https://social.technet.microsoft.com/Forums/sharepoint/en-US/home?category=windowsserver
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • HMAC (SHA1) key longer than 81 characters not possible?

    Not sure whether I'm in the correct forum...
    To sign a message for a specific application with HMAC-SHA1 hash I need a 83 character key.
    My problem: the function module 'SET_HMAC_KEY' throws the exception "param_length_error". After I've testet with several key length, I found out, that the maximum valid length is 81. Is there any reason for this?
    With 3rd party libraries (ie. Python and Javascript) longer keys are working.
    Code:
    CALL FUNCTION 'SET_HMAC_KEY'
      EXPORTING
        generate_random_key         = ' '
        alg                         = 'SHA1'
        keycstr                     = 'cB1phTHISISATESTVuZMDmWCz1CEMy82iBC3HgFLpE&7857T...YFqV93gRJQ'
        client_independent          = ' '
      EXCEPTIONS
        unknown_alg                 = 1
        param_length_error          = 2
        internal_error              = 3
        param_missing               = 4
        malloc_error                = 5
        abap_caller_error           = 6
        base64_error                = 7
        calc_hmac_error             = 8
        rsec_record_access_denied   = 9
        rsec_secstore_access_denied = 10
        rsec_error                  = 11
        rng_error                   = 12
        record_number_error         = 13
        OTHERS                      = 14.
    Best regards, Uwe
    Edited by: Julius Bussche on Aug 5, 2010 10:19 PM
    I truncated the key further because in a coding tag it toasts the formatting when too long.

    Hi,
    yes, we can :-). Let say that SAP implementation supports a key with size more than 81 bytes. Then according to specification if the key is longer than block size of hash function (64 bytes for SHA-1) then it would use hash function to reduce original key to new key with size equals to output size of hash function (20 bytes for SHA-1). Therefore doing this step manually before calling SET_HMAC_KEY is equal to calling SET_HMAC_KEY which supports keys longer than 81 bytes.
    The easiest way how to check this is to compare some HMAC-SHA1 implementation with the result produced by my proposed logic.
    DATA: text TYPE string,
            key_str TYPE string,
            hash TYPE hash160x,
            key TYPE xstring,
            hmac TYPE hash512_base_64.
      text = 'Hello'.
      key_str = '012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'.
      CALL FUNCTION 'CALCULATE_HASH_FOR_CHAR'
        EXPORTING
          data  = key_str
        IMPORTING
          hashx = hash.
      key = hash.
      CALL FUNCTION 'SET_HMAC_KEY'
        EXPORTING
          generate_random_key = space
          alg                 = 'SHA1'
          keyxstr             = key
          client_independent  = space.
      CALL FUNCTION 'CALCULATE_HMAC_FOR_CHAR'
        EXPORTING
          alg        = 'SHA1'
          data       = text
        IMPORTING
          hmacbase64 = hmac.
      WRITE: / hmac.
    Javascript version
    var hmac = Crypto.HMAC(Crypto.SHA1, "Message", "Secret Passphrase");
    var hmacBytes = Crypto.HMAC(Crypto.SHA1, "Message", "Secret Passphrase", { asBytes: true });
    var hmacString = Crypto.HMAC(Crypto.SHA1, "Message", "Secret Passphrase", { asString: true });
    Both implementations return "qsXNz/wecK4PMob6VG9RyRX6DQI=".
    Cheers
    Sorry for formatting but it looks like something is broken.
    Edited by: Martin Voros on Aug 6, 2010 10:34 PM

  • Method 'publishCatalog' does not match any of the valid signatures for mess

    When I run my client, I get "Method 'publishCatalog' does not match any of the valid signatures for message-style service methods" I know that it means that my web service method should conform to one of those 4 methods (http://ws.apache.org/axis/java/user-guide.html#ServiceStylesRPCDocumentWrappedAndMessage), and I made it conform, yet I still get that error.
    Here's my Service and Client code:
    import org.w3c.dom.Element;
    import org.apache.axis.client.Service;
    import org.apache.axis.client.Call;
    import org.apache.axis.message.SOAPBodyElement;
    import org.apache.axis.utils.XMLUtils;
    import java.io.File;
    import java.io.FileInputStream;
    import java.net.URL;
    import java.util.Vector;
    public class CatalogPublisherServiceClient {
         public static void main(String[] args) throws Exception{
              String endpointURL="http://localhost:8080/axis/services/CatalogPublisherService";
              org.apache.axis.client.Service service = new Service();
              Call call = (Call)service.createCall();
              call.setTargetEndpointAddress(new URL(endpointURL));
              SOAPBodyElement[] reqSOAPBodyElements = new SOAPBodyElement[1];
              File catalogFile = new File("catalog.xml");
              FileInputStream fis = new FileInputStream(catalogFile);
              reqSOAPBodyElements[0] = new SOAPBodyElement(XMLUtils.newDocument(fis).getDocumentElement());
              SOAPBodyElement[] resSOAPBodyElements = (SOAPBodyElement[]) call.invoke(reqSOAPBodyElements);
              SOAPBodyElement resSOAPBodyElement = null;
              for(int i=0; i<resSOAPBodyElements.length; i++){
                   resSOAPBodyElement = (SOAPBodyElement)resSOAPBodyElements;
                   System.out.println(XMLUtils.ElementToString(resSOAPBodyElement.getAsDOM()));
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.soap.MessageFactory;
    import javax.xml.soap.SOAPMessage;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Node;
    import org.w3c.dom.Text;
    import java.util.Vector;
    import java.util.Date;
    import java.text.SimpleDateFormat;
    import org.apache.axis.MessageContext;
    import org.apache.axis.utils.XMLUtils;
    import org.apache.axis.message.SOAPBodyElement;
    public class CatalogPublisherService {
         public SOAPBodyElement[] publishCatalog (SOAPBodyElement[] soapBodyElements) throws Exception {
              Element soapBody = (Element)soapBodyElements[0];
              NodeList productList = soapBody.getElementsByTagName ("PRODUCT");
         int productCount = productList.getLength();
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         factory.setNamespaceAware(true);
         DocumentBuilder builder = factory.newDocumentBuilder();
         Document responseDoc = builder.newDocument();
         Element resRoot = responseDoc.createElementNS("http://www.axis03.ws", "CATALOGUPDATE");
         resRoot.setPrefix("CU");
         Element itemCount = responseDoc.createElement("ITEMCOUNT");
         Text itemCountText = responseDoc.createTextNode (String.valueOf(productCount));
         Element dateReceived = responseDoc.createElement("DATERECEIVED");
         SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
         String date = sdf.format(new Date());
         Text dateReceivedText = responseDoc.createTextNode(date);
         //Append the child elements appropriately
         resRoot.appendChild(itemCount);
         itemCount.appendChild(itemCountText);
         resRoot.appendChild(dateReceived);
         dateReceived.appendChild(dateReceivedText);
         SOAPMessage message=null;
         MessageFactory msgFactory = MessageFactory.newInstance();
         message = msgFactory.createMessage();
         SOAPBodyElement[] result = new SOAPBodyElement[1];
         result[0] = new SOAPBodyElement(resRoot);
         return(result);

    That's a really helpful answer and not smug at all, thanks Carey.
    I just downloaded a DVD image from my university's MSDN Academic Alliance program, named "Microsoft
    Windows 7 with Service Pack 1 Debug/Checked Build 64-bit (English)", which I wanted to use to install over an existing 32-bit version. I thought the install screen was giving this weird unskippable error described in the OP before I even entered
    a key because the 32-bit key I had used on the HDD was somehow interpreted to be used in an upgrade, but no. Even after I wiped the hard drive, this error persisted.
    Guess I'll go Google some more on how to install my legit copy of Windows, because this self-serving shit sure isn't helping.
    edit: IF YOU GOOGLED THIS AND ARE STILL LOOKING FOR YOUR ANSWER, CHECK HERE:
    http://answers.microsoft.com/en-us/windows/forum/windows_8-windows_install/the-product-key-entered-does-not-match-any-of-the/47e6f575-5792-404b-9b7f-2065bdb91011

  • Bad PGP/GPG signatures for all Win32 Mozilla firefox partial.mar files

    I checked the .asc signature for the Mozilla 12.0 update firefox-11.0-12.0.partial.mar and came up with:
    Signature made Fri, Apr 20, 2012 21:24:01 EDT using DSA key ID C52175E2
    BAD signature from "Mozilla Software Releases <[email protected]>"
    The MD5, SHA1 and SHA512 checksums come back OK.

    An interesting interpretation of the facts...
    <b><i>Cygwin</i></b>, an OpenSource project of Red Hat Inc., (available at http://cygwin.com) is:
    • a collection of tools which provide a Linux look and feel environment for Windows.
    • a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality.
    Now, using these tools, specifically the ''rsync'' tool (which uses the rsync TCP/IP protocol), I downloaded the update MAR file from the OFFICIAL site using the Rsync address:
    rsync://releases-rsync.mozilla.org::mozilla-releases/firefox/releases/12.0/update/win32/en-US/firefox*.mar*
    (This is equivalent to: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/12.0/update/win32/en-US/)
    This retrieved:
    firefox-11.0-12.0.partial.mar<br>
    firefox-11.0-12.0.partial.mar.asc<br>
    firefox-12.0.complete.mar<br>
    firefox-12.0.complete.mar.asc<br>
    The '''''.asc''''' extension is short for ASCII (alternatively, this could be, by convention, '''''.sig''''',) and contains the digital signature generated using the "Mozilla Software Releases" PGP'/GPG key, DSA key ID C52175E2. '''''PGP'''''/'''''GPG''''' are authentication tools that use the <b><i>RSA encryption algorithm</i></b> to generate digital signatures that guarantee the veracity of a file or message. The signature for firefox-11.0-12.0.partial.mar does NOT verify. The output of GPG is:
    + gpg --verify firefox-11.0-12.0.partial.mar.asc firefox-11.0-12.0.partial.mar<br>
    ...<br>
    gpg: Signature made Fri, Apr 20, 2012 21:24:01 EDT using DSA key ID C52175E2<br>
    gpg: BAD signature from "Mozilla Software Releases "<br>
    Official MD5, SHA1 and SHA512 checksums are also available for this file and its signature. They DO verify properly. For example:
    + md5sum -c .md5sum (.md5sum is extracted from MD5SUMS)<br>
    ...<br>
    update/win32/en-US/firefox-12.0.complete.mar: OK<br>
    update/win32/en-US/firefox-12.0.complete.mar.asc: OK<br>
    update/win32/en-US/firefox-11.0-12.0.partial.mar: OK<br>
    update/win32/en-US/firefox-11.0-12.0.partial.mar.asc: OK<br>
    Would someone, please, check why a bad PGP/GPG signature for this file is being distributed? All the Mozilla12.0 partial.mar signatures I've checked (en-{GB,US,ZA}, zh-{CN,TW}) are bad.

  • HMAC-SHA1 ???

    Hello,
    I have to implement a key derivation using HMAC-SHA1.
    Does anybody know where I can find a java class for this
    algorithm?

    Thanks, but I cannot find an Implementation for HMAC/SHA1 in
    javax.crypto.Mac. I got an NoSuchAlgorithmException for every
    constellation of Mac.getInstance() I have tried.
    Mac mac = Mac.getInstance("HmacSHA");     
    mac.update(pkcs5Bytes);
    mac.update(salt);
    tmp = mac.doFinal();Algorithm HmacSHA not available
         at javax.crypto.Mac.getInstance(DashoA12275)

  • How can I create more than one different signatures for one account or for one address?

    I want to vreate 2 jr more signatures for one account. For example, in different languages, with different text, etc.

    Take a look at this add-on.
    https://addons.mozilla.org/en-US/thunderbird/addon/signature-switch/

  • After updating to Firefox 7.0.1, menu bar for Google,yahoo, Facebook (message,notification,profile,home) and others site are disabled. How can solve this problem?

    after updating to Firefox 7.0.1, menu bar for Google(web ,image,video,map etc),yahoo, Facebook (message,notification,profile,home) and others site are disabled. even I cant log out from different sites cz the log out bar is completely disabled. I tried with Firefox 4;5 and 6, same problem exist . I tried by active all add ons for facebook, same problem exist. If I use internet explorer , I don't find such problem with it.
    How can I solve this problem?

    Thanks a lot for your swift response. And sorry if it was a bit too hectic to go through my detailed query (which I did because it was misunderstood when I asked previously). As I've mentioned above, I was informed that updating to 5.0.1 would '''require''' me to '''delete''' the current version and then install the new one. And doing so will involve losing all my bookmarks. I guess I should have been more specific and detailed there. By losing, I didn't mean losing them forever. I'm aware that they're secured in some place and deleting and installing the software doesn't harm its existence. What I meant that if I install the new version, I'd have to delete the old one. And after installing the new version, I'd have to transfer them (bookmarks) back from wherever they are. Get it? When it updated from 3.6.9 to 3.6.13, and from 3.6.13 to 3.6.18, I didn't need to follow that process. They were already present on their own.
    BTW, I'm having no problems with 3.6.18 but after learning about the existence of version 5.0.1, I'm a bit too eager to lay my hands over it.
    Thanks for your help; hope this wasn't extremely long.

  • Access af:table values from JavaScript array (for google maps task)

    Hi!
    I have JSP page with af:table where latitude and longitude for google maps are stored. I am using these tutorial [https://blogs.oracle.com/middleware/entry/integrating_google_maps_with_adf] and I know how to access latitude and longitude from output text (for one point). Now i need to do something similar with loop for all table rows. How can I achieve this?
    I have JavaScript code which uses Google Maps API and can display many points on one map. Also I have longitude and latitude data in af:table (bindings), each table row has one point. My task is to take data from af:table and pass it to JavaScript.
    May be it is better to use managed bean as you said. Firstly I will access binding data from managed bean. Then I have to pass this data to JavaScript method? Can you suggest some example? I have "Using JavaScript in ADF Faces Rich Client Applications"

    My table is there :
    <af:table value="#{bindings.LocView1.collectionModel}" var="row"
                                  rows="#{bindings.LocView1.rangeSize}"
                                  emptyText="#{bindings.LocView1.viewable ? 'No data to display.' : 'Access Denied.'}"
                                  fetchSize="#{bindings.LocView1.rangeSize}" rowBandingInterval="0"
                                  filterModel="#{bindings.LocView1Query.queryDescriptor}"
                                  queryListener="#{bindings.LocView1Query.processQuery}" filterVisible="true" varStatus="vs"
                                  selectedRowKeys="#{bindings.LocView1.collectionModel.selectedRow}"
                                  selectionListener="#{bindings.LocView1.collectionModel.makeCurrent}" rowSelection="single"
                                  id="t1">
                            <af:column sortProperty="#{bindings.LocView1.hints.SoffOffCode.name}" filterable="true"
                                       sortable="true" headerText="#{bindings.LocView1.hints.SoffOffCode.label}" id="c1">
                                <af:outputText value="#{row.SoffOffCode}" clientComponent="true" id="ot1"/>
                            </af:column>
                            <af:column sortProperty="#{bindings.LocView1.hints.SoffCode.name}" filterable="true"
                                       sortable="true" headerText="#{bindings.LocView1.hints.SoffCode.label}" id="c2">
                                <af:outputText value="#{row.SoffCode}" id="ot2"/>
                            </af:column>
                            <af:column sortProperty="#{bindings.LocView1.hints.SoffLat.name}" filterable="true"
                                       sortable="true" headerText="#{bindings.LocView1.hints.SoffLat.label}" id="c3">
                                <af:outputText value="#{row.SoffLat}" clientComponent="true" id="ot3"/>
                            </af:column>
                            <af:column clientComponent="true" sortProperty="#{bindings.LocView1.hints.SoffLng.name}" filterable="true"
                                       sortable="true" headerText="#{bindings.LocView1.hints.SoffLng.label}" id="c4">
                                <af:outputText value="#{row.SoffLng}" clientComponent="true" id="ot4"/>
                            </af:column>
                            <af:column sortProperty="#{bindings.LocView1.hints.SoffZoom.name}" filterable="true"
                                       sortable="true" headerText="#{bindings.LocView1.hints.SoffZoom.label}" id="c5">
                                <af:outputText value="#{row.SoffZoom}" id="ot5"/>
                            </af:column>
                        </af:table>
    Javascript code:
    alert(document.getElementById("t1"));
    Result:
    [object HTMLDivElement];
    And
    alert(document.getElementById("t1").innerHTML);
    Result:
    <div id="t1::ch" style="overflow: hidden; position: relative; width: 366px;" _afrcolcount="5" class="xzg"><table class="xzi" summary="This table contains column headers corresponding to the data body table below" id="t1::ch::t" style="position:relative;table-layout:fixed;width:525px" cellspacing="0"><tbody><tr><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th><th style="padding:0px;padding-left:5px;width:100px;"></th></tr><tr><th _d_index="0" _afrfiltercol="true" class="xzr" align="left" nowrap="nowrap"><span id="t1:_afrFltrc1" class="x1u"><input id="t1:_afrFltrc1::content" name="t1:_afrFltrc1" class="x25" type="text"></span></th><th _d_index="1" _afrfiltercol="true" class="xzr" align="left" nowrap="nowrap"><span id="t1:_afrFltrc2" class="x1u"><input id="t1:_afrFltrc2::content" name="t1:_afrFltrc2" class="x25" type="text"></span></th><th _d_index="2" _afrfiltercol="true" class="xzr" align="left" nowrap="nowrap"><span id="t1:_afrFltrc3" class="x1u"><input id="t1:_afrFltrc3::content" name="t1:_afrFltrc3" class="x25" type="text"></span></th><th _d_index="3" _afrfiltercol="true" class="xzr" align="left" nowrap="nowrap"><span id="t1:_afrFltrc4" class="x1u"><input id="t1:_afrFltrc4::content" name="t1:_afrFltrc4" class="x25" type="text"></span></th><th _d_index="4" _afrfiltercol="true" class="xzr" align="left" nowrap="nowrap"><span id="t1:_afrFltrc5" class="x1u"><input id="t1:_afrFltrc5::content" name="t1:_afrFltrc5" class="x25" type="text"></span></th></tr><tr><th id="t1:c1" _d_index="0" _afrleaf="true" _afrroot="true" class="xzj" align="left"><div style="position:relative; float:right"><table id="t1:c1::afrSI" _afrhoverable="true" style="display:none" class="x104" cellpadding="0" cellspacing="0"><tbody><tr><td _afrsortasc="1"><a tabindex="-1" class="xzm" title="Sort Ascending"></a></td><td _afrsortdesc="1"><a tabindex="-1" class="xzn" title="Sort Descending"></a></td></tr></tbody></table></div><div class="x19p">SoffOffCode</div></th><th id="t1:c2" _d_index="1" _afrleaf="true" _afrroot="true" class="xzj" align="left"><div style="position:relative; float:right"><table id="t1:c2::afrSI" _afrhoverable="true" style="display:none" class="x104" cellpadding="0" cellspacing="0"><tbody><tr><td _afrsortasc="1"><a tabindex="-1" class="xzm" title="Sort Ascending"></a></td><td _afrsortdesc="1"><a tabindex="-1" class="xzn" title="Sort Descending"></a></td></tr></tbody></table></div><div class="x19p">SoffCode</div></th><th id="t1:c3" _d_index="2" _afrleaf="true" _afrroot="true" class="xzj" align="left"><div style="position:relative; float:right"><table id="t1:c3::afrSI" _afrhoverable="true" style="display:none" class="x104" cellpadding="0" cellspacing="0"><tbody><tr><td _afrsortasc="1"><a tabindex="-1" class="xzm" title="Sort Ascending"></a></td><td _afrsortdesc="1"><a tabindex="-1" class="xzn" title="Sort Descending"></a></td></tr></tbody></table></div><div class="x19p">SoffLat</div></th><th id="t1:c4" _d_index="3" _afrleaf="true" _afrroot="true" class="xzj" align="left"><div style="position:relative; float:right"><table id="t1:c4::afrSI" _afrhoverable="true" style="display:none" class="x104" cellpadding="0" cellspacing="0"><tbody><tr><td _afrsortasc="1"><a tabindex="-1" class="xzm" title="Sort Ascending"></a></td><td _afrsortdesc="1"><a tabindex="-1" class="xzn" title="Sort Descending"></a></td></tr></tbody></table></div><div class="x19p">SoffLng</div></th><th id="t1:c5" _d_index="4" _afrleaf="true" _afrroot="true" class="xzj" align="left"><div style="position:relative; float:right"><table id="t1:c5::afrSI" _afrhoverable="true" style="display:none" class="x104" cellpadding="0" cellspacing="0"><tbody><tr><td _afrsortasc="1"><a tabindex="-1" class="xzm" title="Sort Ascending"></a></td><td _afrsortdesc="1"><a tabindex="-1" class="xzn" title="Sort Descending"></a></td></tr></tbody></table></div><div class="x19p">SoffZoom</div></th></tr></tbody></table></div><div id="t1::db" class="xz9" style="position: relative; width: 366px; overflow: hidden; height: 521px; z-index: 1;" _afrcolcount="5"><table class="xza x102" style="table-layout:fixed;position:relative;width:525px;" _totalwidth="525" _selstate="{'0':true}" _rowcount="179" _startrow="0" cellspacing="0"><tbody><tr _afrrk="0" class="xzy p_AFSelected"><td style="width:100px;" class="xzv" nowrap="nowrap"><span id="t1:0:ot1">26</span></td><td style="width:100px;" class="xzv" nowrap="nowrap">01</td><td style="width:100px;" class="xzv" nowrap="nowrap"><span id="t1:0:ot3">47.90782714384932</span></td><td style="width:100px;" class="xzv" nowrap="nowrap"><span id="t1:0:ot4">106.88643654861448</span></td><td style="width:100px;" class="xzv" nowrap="nowrap">15</td></tr><tr _afrrk="1" class="xzy"><td class="xzv" nowrap="nowrap"><span id="t1:1:ot1">26</span></td><td class="xzv" nowrap="nowrap">02</td><td class="xzv" nowrap="nowrap"><span id="t1:1:ot3">47.91542113773543</span></td><td class="xzv" nowrap="nowrap"><span id="t1:1:ot4">106.88540658035276</span></td><td class="xzv" nowrap="nowrap">15</td></tr><tr _afrrk="2" class="xzy"><td class="xzv" nowrap="nowrap"><span id="t1:2:ot1">26</span></td><td class="xzv" nowrap="nowrap">03</td><td class="xzv" nowrap="nowrap"><span id="t1:2:ot3">47.90768330745696</span></td><td class="xzv" nowrap="nowrap"><span id="t1:2:ot4">106.89544877090452</span></td><td class="xzv" nowrap="nowrap">15</td></tr><tr _afrrk="3" class="xzy"><td class="xzv" nowrap="nowrap"><span id="t1:3:ot1">26</span></td><td class="xzv" nowrap="nowrap">04</td><td class="xzv" nowrap="nowrap"><span id="t1:3:ot3">47.90716549312801</span></td><td class="xzv" nowrap="nowrap"><span id="t1:3:ot4">106.86879834213255</span></td><td class="xzv" nowrap="nowrap">14</td></tr><tr _afrrk="4" class="xzy"><td class="xzv" nowrap="nowrap"><span id="t1:4:ot1">26</span></td><td class="xzv" nowrap="nowrap">05</td><td class="xzv" nowrap="nowrap"><span id="t1:4:ot3">47.89841940184846</span></td><td class="xzv" nowrap="nowrap"><span id="t1:4:ot4">106.82674130477903</span></td><td class="xzv" nowrap="nowrap">13</td></tr><tr _afrrk="5" class="xzy"><td class="xzv" nowrap="nowrap"><span id="t1:5:ot1">26</span></td><td class="xzv" nowrap="nowrap">06</td><td class="xzv
    .etc
    Javascript:  alert(document.getElementById("t1:121:ot3").innerHTML); this retrieve in value
    But only 50 rows in this result. I have many rows. How I can get all???

  • I have multiple emails, how do I add different signatures for each email address

    I have multiple emails for different companies I work for, how do I add a different signature for each one, it seems like I have to use the same one for all of them

    Thanks.  I think I'm on the right track.  I added the email address to my contacts and double clicked the image icon to change it, but it only lets me snap a new picture or select an image from another location.  What is the folder location of the stock icons that come with Mac OSX?

Maybe you are looking for

  • Error while starting Oracle 10.1.3

    Error Starting Application Server Oracle 10.1.3 in Linux : Error Starting ORMI server localhost.localdomain port 12,401: Address already in use. I got the following Exception while starting Server oas10g@localhost bin]$ ./opmnctl startall opmnctl: st

  • Registration Problems with Adobe Photoshop Album 2.0

    I have my registration code and I am able to click on the active "Unlock" program button but then it just closes the program and I have to start the program over again and the registration login screen shows up again and I'm in a viscous cycle. Also.

  • Email submit button pdf file

    I have Adobe Acrobat 9 Pro, Adobe Reader X, and LiveCycle Designer. I have a pdf file that I would like to be sent back to me in pdf format when the submit button is clicked. I created the button in LiveCycle Designer, and Extended features to adobe

  • Correct linking within site problem

    Hello everyone, I hope you will be able to help me or point me in the right direction: On the webhosting server that I am using (can't change it, my company chose ...), there is an extremely strange linking structure (or maybe it just seems strange t

  • B&W - Unsupported Image Format

    Aperture continues to misbehave. I scan B&W photos in using VueScan software and a Canon flatbed scanner, import them into Aperture 3.1.1, clean up the photos and sometimes even am allowed to upload to SmugMug and THEN I get the Unsupported Image For