Support » Plugin: Forms: 3rd-Party Integration » 405 Error, NetSuite CRM, WPCF7

  • Hi,

    I’m hoping to use this plug-in to send data from a Contact Form 7 form to NetSuite.

    I’m getting the same “405 – Method Not Allowed” error described in a closed support thread for the plug-in:

    https://wordpress.org/support/topic/405-method-not-allowed-1

    Here’s what debug has to say about the failure:

    ...
    
    **RAW RESPONSE**
    Array
    (
        [headers] => Array
            (
                [date] => Wed, 06 Apr 2016 03:42:40 GMT
                [server] => Apache
                [content-length] => 938
                [ns_rtimer_composite] => 2078797948:616363742D6A61766130303030332E7376616C652E6E65746C65646765722E636F6D:80
                [set-cookie] => Array
                    (
                        [0] => JSESSIONID=H4QvXGFQkxt3TJb1ppbcGGhsyg22G2GPxTkPGwsNkPT49NfGplvkrXpzPmZv397FD6lHbV19v7vVSL3NvsytbJLRPQ2Y7vF2f4JK1HpnyTs0LMHBlQh1zDbXM86SWJ25!-617098506; path=/
                        [1] => NS_VER=2016.1.0; domain=forms.netsuite.com; path=/
                    )
    
                [p3p] => CP="CAO PSAa OUR BUS PUR"
                [vary] => User-Agent
                [keep-alive] => timeout=10, max=999
                [connection] => Keep-Alive
                [content-type] => text/html; charset=UTF-8
            )
    
        [body] => <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Draft//EN">
    <HTML>
    <HEAD>
    <TITLE>Error 405--Method Not Allowed</TITLE>
    </HEAD>
    <BODY bgcolor="white">
    <FONT FACE=Helvetica><BR CLEAR=all>
    <TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
    <FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 405--Method Not Allowed</H2>
    </FONT></TD></TR>
    </TABLE>
    <TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><FONT FACE="Helvetica" SIZE="3"><H3>From RFC 2068 <i>Hypertext Transfer Protocol -- HTTP/1.1</i>:</H3>
    </FONT><FONT FACE="Helvetica" SIZE="3"><H4>10.4.6 405 Method Not Allowed</H4>
    </FONT><P><FONT FACE="Courier New">The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. The response MUST include an Allow header containing a list of valid methods for the requested resource.</FONT></P>
    </FONT></TD></TR>
    </TABLE>
    
    </BODY>
    </HTML>
    
        [response] => Array
            (
                [code] => 405
                [message] => Method Not Allowed
            )
    
        [cookies] => Array
            (
                [0] => WP_Http_Cookie Object
                    (
                        [name] => JSESSIONID
                        [value] => H4QvXGFQkxt3TJb1ppbcGGhsyg22G2GPxTkPGwsNkPT49NfGplvkrXpzPmZv397FD6lHbV19v7vVSL3NvsytbJLRPQ2Y7vF2f4JK1HpnyTs0LMHBlQh1zDbXM86SWJ25!-617098506
                        [expires] =>
                        [path] => /
                        [domain] => forms.netsuite.com
                    )
    
                [1] => WP_Http_Cookie Object
                    (
                        [name] => NS_VER
                        [value] => 2016.1.0
                        [expires] =>
                        [path] => /
                        [domain] => forms.netsuite.com
                    )
    
            )
    
        [filename] =>
        [safe_message] => physical request failure
    )

    I haven't discovered a fix, though maybe there's a clue insofar as the value for User-Agent. According to this somewhat-unrelated article the endpoint (NetSuite) requires a specific value for user-agent:

    http://blog.prolecto.com/2014/08/14/anonymous-suitelet-demands-user-agent-header/

    You may be coming from a server environment that is not supplying this value automatically. To solve this, add the following key/value pair to the HTTP Headers: “User-Agent : Mozilla/5.0″. Now the Suitelet will think that the request is coming from a browser and it should accept the anonymous request.

    Could that possibly be the cause of the 405??!

    Any thoughts? It would be great to have this plug-in working with NetSuite!

    https://wordpress.org/plugins/forms-3rdparty-integration/

Viewing 4 replies - 1 through 4 (of 4 total)
  • So… update:

    I tried a PoC hack (changed wp_http method from POST to GET) then submitted a form. Inspecting the plug-in’s debug logs, NetSuite replied “This site requires JavaScript to work correctly…” and no form data was passed.

    So I reversed the hack (set wp_http back to POST), then I installed your other plug-in:

    https://wordpress.org/plugins/forms-3rd-party-xpost/

    I used this to add User-Agent=Mozilla/5.0 to the header. Surprisingly, this had the effect of getting past the 405 error, but now I’m getting a 206 Partial Content error.

    Thoughts? Anyone?

    Hey,

    I’m currently stuck with the same issue and at the same stage as you with 206 Partial Content error.

    Incidentally I’m using Gravity Forms and adding a hook via a plugin so easy for me to test headers etc.

    Hoping for both our sanity you got somewhere! 🙂

    Cheers,
    Steve

    Hey Steve,

    Have you come up with a solution?

    I burned a lot of time trying all sorts of combinations to integrate a WP form with NetSuite and never got anywhere. In the end, I had to just develop my own plugin (using curl).

    While developing my plugin I had every intention of writing it in a way that would easily apply to other configurations so that I could publish it and give it away for free. Unfortunately, time wasn’t on my side so it’s very much tied to my specific use case and NS forms. I’m hoping to come back around to it at some point though…

    For now I’m just writing the form myself in straight HTML.

    Would definitely be nice to have the ease and flexibility of doing with Gravity or Ninja Forms but for reasons I could never quite work out hooking in to post submit actions with any forms plugin never quite worked for me (always the partial content issue).

    I did find this which looked promising – https://wordpress.org/plugins/forms-3rdparty-integration/ but couldn’t quite get it working right.

    I feel like it is do-able and probably just a case of working out the right headers to pass to wp_remote_post to get it firing right. There’s something in there that’s flagging the NS submission as incorrect/not coming from a basic form post.
    Interesting that you used cURL – was this just because you were more familiar with cURL or because wp_remote_post wasn’t working for you?

    I have got a direct line to NS developers during this project so going to point them here and hope they can shed some light 🙂

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘405 Error, NetSuite CRM, WPCF7’ is closed to new replies.