Getting 400 Bad Request response from Beehive SOAP API

Hi,
I'm trying to consume beehive web services via SOAP, more specifically I'm trying to upload a file into a workspace however at this point of the implementation I'm stuck getting 400 responses from the server.
I'm trying to upload a file using the createDocument() method that's located on the contentManagementService, indeed in the line that I call to that method is in which my app stops and returns the exception of error 400
I'm attaching a sample of the message I'm sending, at this point I understand every parameter that it's being sent except for the contentStreamId parameter, I don't know what it means, the documentation doesn't explain it either.
Does anyone has an idea of what's that paremeter for and how to use it properly?
Here's a sample of code I'm using:
// add new document
String str = "Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r" +
"Test body.Test body.Test body.Test body.Test body.Test body.\r";
byte[] docContent = str.getBytes("UTF8");
DocumentCreator docCreator = new DocumentCreator();
docCreator.setConflictResolutionMode(ConflictResolutionMode.OVERWRITE);
docCreator.setName("File" + System.currentTimeMillis()%10000 + ".txt");
docCreator.setParent(teamWksp.getDefaultDocumentsFolder().getCollabId());
IdentifiableSimpleContentUpdater iscu = new IdentifiableSimpleContentUpdater();
iscu.setContentStreamId(docContent.toString());
DocumentUpdater docUpdater = new DocumentUpdater();
docUpdater.setContentUpdater(iscu);
docCreator.setUpdater(docUpdater);
Document doc = contentMgmtServiceSoap.createDocument(docCreator, docContent,projFull);
here's the message being sent:
<S:Envelope>
     <S:Body>
          <ns3:createDocument>
               <creator>
                    <ns2:conflictResolutionMode>OVERWRITE</ns2:conflictResolutionMode>
                    <ns2:name>File8692.txt</ns2:name>
                    <ns2:parent>
                         <ns2:id>334B:3BF0:afrh:38893C00F42F38A1E0404498C8A6612B00023FF3F175</ns2:id>
                         <ns2:resourceType>afrh</ns2:resourceType>
                    </ns2:parent>
                    <ns2:updater>
                         <ns2:contentUpdater xsi:type="ns2:identifiableSimpleContentUpdater">
                              <ns2:contentStreamId>[B@70751932</ns2:contentStreamId>
                         </ns2:contentUpdater>
                    </ns2:updater>
               </creator>
               <dhandler>VGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuDVRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5Lg1UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS4NVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuDVRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5Lg1UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS4NVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuDVRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5Lg1UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS4NVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuDVRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5Lg1UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS4NVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuDVRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5Lg1UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS4NVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuDVRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5Lg1UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS5UZXN0IGJvZHkuVGVzdCBib2R5LlRlc3QgYm9keS4N</dhandler>
               <projection value="FULL" xsi:type="ns2:projection"/>
          </ns3:createDocument>
     </S:Body>
</S:Envelope>

Did you manage to successfully upload the file? If you did, please give solution.
Thanks

Similar Messages

  • Program work before, without change but now web service get 400 bad request

    i wrote a program to get data by java, using axis library, but recently, the program cannot access the data.
    And it return a 400 bad request.
    i tried to cap the header and context send out,result as below,
    Content-Type=text/xml; charset=UTF-8
    SOAPAction="document/urn:crmondemand/ws/user/10/2004:UserQueryPage"
    User-Agent=Axis2
    Host=(server address)
    Transfer-Encoding=chunked
    context
    <?xml version="1.0" encoding="UTF-8" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <ns2:UserWS_UserQueryPage_Input xmlns:ns2="urn:crmondemand/ws/user/10/2004">
    <ns2:UseChildAnd>false</ns2:UseChildAnd>
    <ns2:PageSize>100</ns2:PageSize>
    <ListOfUser xmlns="urn:/crmondemand/xml/user">
    <User>
    <UserId />
    <Alias />
    <EMailAddr />
    <FirstName />
    <LastName />
    </User>
    </ListOfUser>
    <ns2:StartRowNum>0</ns2:StartRowNum>
    </ns2:UserWS_UserQueryPage_Input>
    </soapenv:Body>
    </soapenv:Envelope>
    other http request information cap:
    getAuthType= null
    getCharacterEncoding= UTF-8
    getContentLength= -1
    getContentType= text/xml; charset=UTF-8
    getCookies= null
    getLocale= zh_HK
    getMethod= POST
    getPathInfo= null
    getProtocol= HTTP/1.1
    getQueryString= null
    getRemoteUser= null
    getRequestURI= /Integration
    getRequestURL= http://(server address and port)/Integration (https for real case, but to cap using http)
    getServletPath= /Integration
    getUserPrincipal= null
    i cannot find out the reason to make the program not work, as i have not change any code and library
    Edited by: user6642894 on 2009/3/23 上午 1:24
    Edited by: paddy_yeung on 2009/3/23 下午 8:33

    Check the security mode, it should be “TransportCredentialOnly” and the clientCredentialType “NTLM” as shown in the blog post
    http://blogs.msdn.com/b/kaevans/archive/2009/03/10/calling-sharepoint-lists-web-service-using-wcf.aspx
    The other option is to add the service as
    Web Reference and not as Service Reference.
    In your ‘Add Service Reference’ window, click on ‘Advanced’ and choose ‘Add Web Reference’ – I prefer this for ASMX web services which makes it much easier.

  • Update List Items using REST API - Keep Getting 400 Bad Request

    I am using code from the following answer:
    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/40833576-5853-4ca4-95cf-b5b1d69f465f/sharepoint-rest-and-c-sample-to-update-list-item?forum=sharepointdevelopment
    I am having a tough time figuring out the issue though.  I have been able to retrieve list items, but now I want to update those items.  This is the following code just to get the digest information with passing in credentials:
    public static string GetFormDigest(System.Net.NetworkCredential cred)
    string formDigest = null;
    string resourceUrl = "https://SITEURL/_api/contextinfo";
    HttpWebRequest wreq = HttpWebRequest.Create(resourceUrl) as HttpWebRequest;
    wreq.Credentials = cred;
    wreq.Method = "POST";
    wreq.Accept = "application/json;odata=verbose";
    wreq.ContentLength = 0;
    wreq.ContentType = "application/json";
    string result;
    WebResponse wresp = wreq.GetResponse();
    using (StreamReader sr = new StreamReader(wresp.GetResponseStream()))
    result = sr.ReadToEnd();
    var jss = new JavaScriptSerializer();
    var val = jss.Deserialize<Dictionary<string, object>>(result);
    var d = val["d"] as Dictionary<string, object>;
    var wi = d["GetContextWebInformation"] as Dictionary<string, object>;
    formDigest = wi["FormDigestValue"].ToString();
    Console.WriteLine(formDigest);
    return formDigest;
    Then the following code is used:
    string result = string.Empty;
    Uri uri = new Uri(sharepointUrl.ToString() + "/_api/Web/lists/getByTitle('DemoList')/items(1)");
    HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(uri);
    wreq.Credentials = cred;
    wreq.Method = "POST";
    wreq.Accept = "application/json; odata=verbose";
    wreq.ContentType = "application/json; odata=verbose";
    wreq.Headers.Add( "X-HTTP-Method","MERGE");
    wreq.Headers.Add( "IF-MATCH", "*");
    wreq.Headers.Add("X-RequestDigest", GetFormDigest(cred));
    string stringData = "{'__metadata': { 'type': 'SP.Data.DemoListListItem' }, 'Title': 'updated!'}";
    wreq.ContentLength = stringData.Length;
    StreamWriter writer = new StreamWriter(wreq.GetRequestStream());
    writer.Write(stringData);
    writer.Flush();
    try {
    WebResponse wresp2 = wreq.GetResponse();
    using (StreamReader sr = new StreamReader(wresp2.GetResponseStream()))
    result = sr.ReadToEnd();
    catch (Exception e) { Console.WriteLine("An error occurred: '{0}'", e); }
    It errors out when it tries to send the command to Sharepoint.  I am NOT using a sharepoint hosted app.  I just wanted to directly contact sharepoint and update items.  Any help or suggestions would be greatly appreciated!
    Thanks,
    Priyank
     

    I just found some other code that seemed to work on editing a title and edited it kind of guessing it would work and it did!
    This is the code that ended working using the same digest code from above:
    Console.WriteLine("\n Newer Fancier Code \n");
    Uri uri = new Uri("https://SHAREPOINTURL/_api/web/lists/GetByTitle('Demo')/items(1)");
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
    request.ContentType = "application/json;odata=verbose";
    request.Headers["X-RequestDigest"] = GetFormDigest(cred);
    request.Headers["X-HTTP-Method"] = "MERGE";
    request.Headers["IF-MATCH"] = "*";
    request.Credentials = cred;
    request.Accept = "application/json;odata=verbose";
    request.Method = "POST";
    string stringData = "{ '__metadata': { 'type': 'SP.ListItem' }, 'Location': 'updatedinfo' }";
    request.ContentLength = stringData.Length;
    StreamWriter writer = new StreamWriter(request.GetRequestStream());
    writer.Write(stringData);
    writer.Flush();
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    StreamReader reader = new StreamReader(response.GetResponseStream());
    Just fyi if anyone was wondering.  Next, I'm going to be trying to update multiple fields, possibly multiple items if possible if anyone knows how to do that.

  • When signing in to comment on huffpost article I now get 400 bad request, header or cookie too large, nginx; won't let me comment. How fix?

    see sentence

    This can be caused by corrupted cookies or cookies that are blocked (check the permissions on the about:permissions page).
    Clear the cache and cookies only from websites that cause problems.
    "Clear the Cache":
    *Firefox/Tools > Options > Advanced > Network > Cached Web Content: "Clear Now"
    "Remove Cookies" from sites causing problems:
    *Firefox/Tools > Options > Privacy > Cookies: "Show Cookies"

  • XI's BC Adater (sender)-- 400 Bad Request

    Hi,
    I am trying to send data from SAP-BC to XI. XI will receive this data through XI's-BC Adapter(sender).
    I have defined a routing rule in BC as specified in help.sap.com.
    http://<hostname:50000/MessagingSystem/receive/BcAdapter/BC
    When i test this Flowservice from BC End, i get 400 Bad Request error.
    But when i specify the URL as http://hostname:50000 and test the service, the response code is 200 (success).
    I even tested the URL directly posting in a explorer page and i could see that the message servlet pertaining to BC is active.
    I am not able to understand why is XI-server not able to receive the request that has been posted to the URL
    http://<hostname:50000/MessagingSystem/receive/BcAdapter/BC
    Am i missing any configurations??
    Regards,
    siva Maranani

    hi,
    I was able to get the error details of "400:Bad Request."
    The error is :
    com.sap.aii.af.ra.ms.api.MessageFormatException: got no name/namespace for the payload of the XRFC_DOC_TYPE_ENVELOPE.
    org.xml.sax.SAXexception:got no name/namespace for the payload of the XRFC_DOC_TYPE_ENVELOPE.
    Below is the xmldata, that i am sent to XI:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <sap:Envelope xmlns:sap="urn:sap-com:document:sap" version="1.0">
      <sap:Header xmlns:rfcprop="urn:sap-com:document:sap:rfc:properties">
        <saptr:From xmlns:saptr="urn:sap-com:document:sap:transport">BC</saptr:From>
        <saptr:To xmlns:saptr="urn:sap-com:document:sap:transport">XI</saptr:To>
      </sap:Header>
      <sap:Body>
        <rfc:ZSIVAINSERT xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
          <CARRID>AA<CARRID>
          <CONNID>0017<CONNID/>
          <FLDATE>20040417<FLDATE/>
        </rfc:ZSIVAINSERT>
      </sap:Body>
    </sap:Envelope>
    I do not understand the name/namespace it is looking for. Kindly help me out.
    Regards,
    Siva Maranani

  • Apache as reverse proxy - 400 Bad request

    Hi all,
    I'm configured apache as reverse proxy according to this blog:
    The Reverse Proxy Series -- Part 3: Apache as a reverse-proxy
    When I try to navigate http://testcomp/irj I get "400 - Bad request"
    See exception;
    <i>Message : User Guest, IP address
    Cannot parse the http request. Http error response [400 Bad Request] will be returned. Request is [Host: sapportal:50000
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, /
    Accept-Language: en,he;q=0.5
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; FDM; .NET CLR 2.0.50727)
    Max-Forwards: 10
    Via: 1.1 localhost
    X-Forwarded-For: 10.0.0.4
    X-Forwarded-Host: 10.0.0.6
    X-Forwarded-Server: localhost
    Connection: Keep-Alive
    GET /irj HTTP/1.1
    Host: sapportal:50000
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, /
    Accept-Language: en,he;q=0.5
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; FDM; .NET CLR 2.0.50727)
    Max-Forwards: 10
    Via: 1.1 localhost
    X-Forwarded-For: 10.0.0.4
    X-Forwarded-Host: 10.0.0.6
    X-Forwarded-Server: localhost
    Connection: Keep-Alive
    com.sap.engine.services.httpserver.exceptions.HttpIllegalArgumentException: Incompatible field content in the MIME header.
         at com.sap.engine.services.httpserver.lib.headers.MimeHeaderField.parse(MimeHeaderField.java:364)
         at com.sap.engine.services.httpserver.lib.headers.MimeHeaders.init(MimeHeaders.java:504)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.initialize(RequestAnalizer.java:196)
         at com.sap.engine.services.httpserver.server.Client.initialize(Client.java:84)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:143)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Severity : Error
    Category :
    Location : com.sap.engine.services.httpserver
    Application :
    Thread : SAPEngine_Application_Thread[impl:3]_32
    Datasource : 9332850:C:usrsapPD9JC00j2eeclusterserver0logdefaultTrace.trc
    Message ID : 000C29EFE9A300570000002D00000B9000043A81D3311894
    Source Name : com.sap.engine.services.httpserver
    Argument Objs :
    Arguments :
    Dsr Component :
    Dsr Transaction : 5359e85066e411dcbf6b000c29efe9a3
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 0
    Relatives :
    Resource Bundlename :
    Session : 2
    Source : com.sap.engine.services.httpserver
    ThreadObject : SAPEngine_Application_Thread[impl:3]_32
    Transaction :
    User : Guest</i>
    The lines I added to http.conf
    <i>#Enable reverse-proxying
    ProxyVia on
    ProxyTimeout 600
    #disable forward-proxying
    ProxyRequests Off
    #proxy /irj both ways
    ProxyPass /irj http://sapportal:50000/irj
    ProxyPassReverse /irj http://testcomp/irj
    #proxy /logon both ways
    ProxyPass /logon http://sapportal:50000/logon
    ProxyPassReverse /logon http://testcomp/logon</i>
    I tried with apache version 2.2.3 & 2.0.59 with no success.
    My J2EE/Portal version is 6.17.
    Since this is a testing environment the two computers are under the same workgroup (no domain).
    If I naviagte directly to the portal (without the reverse proxy) everything is working.
    How can I solve it?
    Regards,
    Omri

    Hi Jakub,
    Thanks for the answer.
    It's not working for me...
    I'm attaching my httpd.conf file.
    Also, what apache version do you use?
    Can you send me your post your httpd.conf file?
    Thanks,
    Omri
    httpd.conf
    This is the main Apache HTTP server configuration file.  It contains the
    configuration directives that give the server its instructions.
    See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
    In particular, see
    <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
    for a discussion of each configuration directive.
    Do NOT simply read the instructions in here without understanding
    what they do.  They're here only as hints or reminders.  If you are unsure
    consult the online docs. You have been warned. 
    Configuration and logfile names: If the filenames you specify for many
    of the server's control files begin with "/" (or "drive:/" for Win32), the
    server will use that explicit path.  If the filenames do not begin
    with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
    with ServerRoot set to "c:/apache" will be interpreted by the
    server as "c:/apache/logs/foo.log".
    NOTE: Where filenames are specified, you must use forward slashes
    instead of backslashes (e.g., "c:/apache" instead of "c:\apache").
    If a drive letter is omitted, the drive on which Apache.exe is located
    will be used by default.  It is recommended that you always supply
    an explicit drive letter in absolute paths, however, to avoid
    confusion.
    ThreadsPerChild: constant number of worker threads in the server process
    MaxRequestsPerChild: maximum  number of requests a server process serves
    ThreadsPerChild 250
    MaxRequestsPerChild  0
    ServerRoot: The top of the directory tree under which the server's
    configuration, error, and log files are kept.
    Do not add a slash at the end of the directory path.  If you point
    ServerRoot at a non-local disk, be sure to point the LockFile directive
    at a local disk.  If you wish to share the same ServerRoot for multiple
    httpd daemons, you will need to change at least LockFile and PidFile.
    ServerRoot "c:/apache"
    Listen: Allows you to bind Apache to specific IP addresses and/or
    ports, instead of the default. See also the <VirtualHost>
    directive.
    Change this to Listen on specific IP addresses as shown below to
    prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
    #Listen 12.34.56.78:80
    Listen 80
    Dynamic Shared Object (DSO) Support
    To be able to use the functionality of a module which was built as a DSO you
    have to place corresponding `LoadModule' lines at this location so the
    directives contained in it are actually available before they are used.
    Statically compiled modules (those listed by `httpd -l') do not need
    to be loaded here.
    Example:
    LoadModule foo_module modules/mod_foo.so
    LoadModule actions_module modules/mod_actions.so
    LoadModule alias_module modules/mod_alias.so
    LoadModule asis_module modules/mod_asis.so
    LoadModule auth_basic_module modules/mod_auth_basic.so
    #LoadModule auth_digest_module modules/mod_auth_digest.so
    #LoadModule authn_anon_module modules/mod_authn_anon.so
    #LoadModule authn_dbm_module modules/mod_authn_dbm.so
    LoadModule authn_default_module modules/mod_authn_default.so
    LoadModule authn_file_module modules/mod_authn_file.so
    #LoadModule authz_dbm_module modules/mod_authz_dbm.so
    LoadModule authz_default_module modules/mod_authz_default.so
    LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
    LoadModule authz_host_module modules/mod_authz_host.so
    LoadModule authz_user_module modules/mod_authz_user.so
    LoadModule autoindex_module modules/mod_autoindex.so
    #LoadModule cern_meta_module modules/mod_cern_meta.so
    LoadModule cgi_module modules/mod_cgi.so
    #LoadModule dav_module modules/mod_dav.so
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    #LoadModule deflate_module modules/mod_deflate.so
    LoadModule dir_module modules/mod_dir.so
    LoadModule env_module modules/mod_env.so
    #LoadModule expires_module modules/mod_expires.so
    #LoadModule file_cache_module modules/mod_file_cache.so
    #LoadModule headers_module modules/mod_headers.so
    LoadModule imagemap_module modules/mod_imagemap.so
    LoadModule include_module modules/mod_include.so
    #LoadModule info_module modules/mod_info.so
    LoadModule isapi_module modules/mod_isapi.so
    LoadModule log_config_module modules/mod_log_config.so
    LoadModule mime_module modules/mod_mime.so
    #LoadModule mime_magic_module modules/mod_mime_magic.so
    <b>LoadModule proxy_module modules/mod_proxy.so</b>
    #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
    #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    #LoadModule proxy_connect_module modules/mod_proxy_connect.so
    <b>LoadModule proxy_http_module modules/mod_proxy_http.so</b>
    #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule negotiation_module modules/mod_negotiation.so
    #LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule setenvif_module modules/mod_setenvif.so
    #LoadModule speling_module modules/mod_speling.so
    #LoadModule status_module modules/mod_status.so
    #LoadModule unique_id_module modules/mod_unique_id.so
    LoadModule userdir_module modules/mod_userdir.so
    #LoadModule usertrack_module modules/mod_usertrack.so
    #LoadModule vhost_alias_module modules/mod_vhost_alias.so
    #LoadModule ssl_module modules/mod_ssl.so
    'Main' server configuration
    The directives in this section set up the values used by the 'main'
    server, which responds to any requests that aren't handled by a
    <VirtualHost> definition.  These values also provide defaults for
    any <VirtualHost> containers you may define later in the file.
    All of these directives may appear inside <VirtualHost> containers,
    in which case these default settings will be overridden for the
    virtual host being defined.
    ServerAdmin: Your address, where problems with the server should be
    e-mailed.  This address appears on some server-generated pages, such
    as error documents.  e.g. [email protected]
    ServerAdmin @@ServerAdmin@@
    ServerName gives the name and port that the server uses to identify itself.
    This can often be determined automatically, but we recommend you specify
    it explicitly to prevent problems during startup.
    If your host doesn't have a registered DNS name, enter its IP address here.
    ServerName localhost:80
    DocumentRoot: The directory out of which you will serve your
    documents. By default, all requests are taken from this directory, but
    symbolic links and aliases may be used to point to other locations.
    DocumentRoot "c:/apache/htdocs"
    Each directory to which Apache has access can be configured with respect
    to which services and features are allowed and/or disabled in that
    directory (and its subdirectories).
    First, we configure the "default" to be a very restrictive set of
    features. 
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Satisfy all
    </Directory>
    Note that from this point forward you must specifically allow
    particular features to be enabled - so if something's not working as
    you might expect, make sure that you have specifically enabled it
    below.
    This should be changed to whatever you set DocumentRoot to.
    <Directory "c:/apache/htdocs">
    Possible values for the Options directive are "None", "All",
    or any combination of:
      Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    Note that "MultiViews" must be named explicitly --- "Options All"
    doesn't give it to you.
    The Options directive is both complicated and important.  Please see
    http://httpd.apache.org/docs/2.2/mod/core.html#options
    for more information.
        Options Indexes FollowSymLinks
    AllowOverride controls what directives may be placed in .htaccess files.
    It can be "All", "None", or any combination of the keywords:
      Options FileInfo AuthConfig Limit
        AllowOverride None
    Controls who can get stuff from this server.
        Order allow,deny
        Allow from all
    </Directory>
    DirectoryIndex: sets the file that Apache will serve if a directory
    is requested.
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    The following lines prevent .htaccess and .htpasswd files from being
    viewed by Web clients.
    <FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
    </FilesMatch>
    ErrorLog: The location of the error log file.
    If you do not specify an ErrorLog directive within a <VirtualHost>
    container, error messages relating to that virtual host will be
    logged here.  If you do define an error logfile for a <VirtualHost>
    container, that host's errors will be logged there and not here.
    ErrorLog logs/error.log
    LogLevel: Control the number of messages logged to the error_log.
    Possible values include: debug, info, notice, warn, error, crit,
    alert, emerg.
    LogLevel warn
    <IfModule log_config_module>
    The following directives define some format nicknames for use with
    a CustomLog directive (see below).
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%You need to enable mod_logio.c to use %I and %Oi\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
    The location and format of the access logfile (Common Logfile Format).
    If you do not define any access logfiles within a <VirtualHost>
    container, they will be logged here.  Contrariwise, if you do
    define per-<VirtualHost> access logfiles, transactions will be
    logged therein and not in this file.
        CustomLog logs/access.log common
    If you prefer a logfile with access, agent, and referer information
    (Combined Logfile Format) you can use the following directive.
        #CustomLog logs/access.log combined
    </IfModule>
    <IfModule alias_module>
    Redirect: Allows you to tell clients about documents that used to
    exist in your server's namespace, but do not anymore. The client
    will make a new request for the document at its new location.
    Example:
    Redirect permanent /foo http://www.example.com/bar
    Alias: Maps web paths into filesystem paths and is used to
    access content that does not live under the DocumentRoot.
    Example:
    Alias /webpath /full/filesystem/path
    If you include a trailing / on /webpath then the server will
    require it to be present in the URL.  You will also likely
    need to provide a <Directory> section to allow access to
    the filesystem path.
    ScriptAlias: This controls which directories contain server scripts.
    ScriptAliases are essentially the same as Aliases, except that
    documents in the target directory are treated as applications and
    run by the server when requested rather than as documents sent to the
    client.  The same rules about trailing "/" apply to ScriptAlias
    directives as to Alias.
        ScriptAlias /cgi-bin/ "c:/apache/cgi-bin/"
    </IfModule>
    "c:/apache/cgi-bin" should be changed to whatever your ScriptAliased
    CGI directory exists, if you have that configured.
    <Directory "c:/apache/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
    Apache parses all CGI scripts for the shebang line by default.
    This comment line, the first line of the script, consists of the symbols
    pound (#) and exclamation followed by the path of the program that
    can execute this specific script.  For a perl script, with perl.exe in
    the C:\Program Files\Perl directory, the shebang line should be:
       #!c:/program files/perl/perl
    Note you mustnot_ indent the actual shebang line, and it must be the
    first line of the file.  Of course, CGI processing must be enabled by
    the appropriate ScriptAlias or Options ExecCGI directives for the files
    or directory in question.
    However, Apache on Windows allows either the Unix behavior above, or can
    use the Registry to match files by extention.  The command to execute
    a file of this type is retrieved from the registry by the same method as
    the Windows Explorer would use to handle double-clicking on a file.
    These script actions can be configured from the Windows Explorer View menu,
    'Folder Options', and reviewing the 'File Types' tab.  Clicking the Edit
    button allows you to modify the Actions, of which Apache 1.3 attempts to
    perform the 'Open' Action, and failing that it will try the shebang line.
    This behavior is subject to change in Apache release 2.0.
    Each mechanism has it's own specific security weaknesses, from the means
    to run a program you didn't intend the website owner to invoke, and the
    best method is a matter of great debate.
    To enable the this Windows specific behavior (and therefore -disable- the
    equivilant Unix behavior), uncomment the following directive:
    #ScriptInterpreterSource registry
    The directive above can be placed in individual <Directory> blocks or the
    .htaccess file, with either the 'registry' (Windows behavior) or 'script'
    (Unix behavior) option, and will override this server default option.
    DefaultType: the default MIME type the server will use for a document
    if it cannot otherwise determine one, such as from filename extensions.
    If your server contains mostly text or HTML documents, "text/plain" is
    a good value.  If most of your content is binary, such as applications
    or images, you may want to use "application/octet-stream" instead to
    keep browsers from trying to display binary files as though they are
    text.
    DefaultType text/plain
    <IfModule mime_module>
    TypesConfig points to the file containing the list of mappings from
    filename extension to MIME-type.
        TypesConfig conf/mime.types
    AddType allows you to add to or override the MIME configuration
    file specified in TypesConfig for specific file types.
        #AddType application/x-gzip .tgz
    AddEncoding allows you to have certain browsers uncompress
    information on the fly. Note: Not all browsers support this.
        #AddEncoding x-compress .Z
        #AddEncoding x-gzip .gz .tgz
    If the AddEncoding directives above are commented-out, then you
    probably should define those extensions to indicate media types:
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    AddHandler allows you to map certain file extensions to "handlers":
    actions unrelated to filetype. These can be either built into the server
    or added with the Action directive (see below)
    To use CGI scripts outside of ScriptAliased directories:
    (You will also need to add "ExecCGI" to the "Options" directive.)
        #AddHandler cgi-script .cgi
    For type maps (negotiated resources):
        #AddHandler type-map var
    Filters allow you to process content before it is sent to the client.
    To parse .shtml files for server-side includes (SSI):
    (You will also need to add "Includes" to the "Options" directive.)
        #AddType text/html .shtml
        #AddOutputFilter INCLUDES .shtml
    </IfModule>
    The mod_mime_magic module allows the server to use various hints from the
    contents of the file itself to determine its type.  The MIMEMagicFile
    directive tells the module where the hint definitions are located.
    #MIMEMagicFile conf/magic
    Customizable error responses come in three flavors:
    1) plain text 2) local redirects 3) external redirects
    Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    EnableMMAP and EnableSendfile: On systems that support it,
    memory-mapping or the sendfile syscall is used to deliver
    files.  This usually improves server performance, but must
    be turned off when serving from networked-mounted
    filesystems or if support for these functions is otherwise
    broken on your system.
    #EnableMMAP off
    #EnableSendfile off
    Supplemental configuration
    The configuration files in the conf/extra/ directory can be
    included to add extra features or to modify the default configuration of
    the server, or you may simply copy their contents here and change as
    necessary.
    Server-pool management (MPM specific)
    #Include conf/extra/httpd-mpm.conf
    Multi-language error messages
    #Include conf/extra/httpd-multilang-errordoc.conf
    Fancy directory listings
    #Include conf/extra/httpd-autoindex.conf
    Language settings
    #Include conf/extra/httpd-languages.conf
    User home directories
    #Include conf/extra/httpd-userdir.conf
    Real-time info on requests and configuration
    #Include conf/extra/httpd-info.conf
    Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
    Local access to the Apache HTTP Server Manual
    #Include conf/extra/httpd-manual.conf
    Distributed authoring and versioning (WebDAV)
    #Include conf/extra/httpd-dav.conf
    Various default settings
    #Include conf/extra/httpd-default.conf
    Secure (SSL/TLS) connections
    #Include conf/extra/httpd-ssl.conf
    Note: The following must must be present to support
          starting without SSL on platforms with no /dev/random equivalent
          but a statically compiled-in mod_ssl.
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>
    <b>ProxyPreserveHost On
    ProxyVia on
    ProxyTimeout 600
    #disable forward-proxying
    ProxyRequests Off
    #proxy /irj both ways
    ProxyPass /irj http://sapportal:50000/irj
    ProxyPassReverse /irj http://sapportal:50000/irj
    #ProxyPassReverse /irj http://testcomp/irj
    #proxy /logon both ways
    ProxyPass /logon http://sapportal:50000/logon
    ProxyPassReverse /logon http://sapportal:50000/logon
    #ProxyPassReverse /logon http://testcomp/logon</b>

  • HTTP 400 Bad Request Error

    Application Express 3.1.1.00.09
    We have some users who are experiencing what appears to be a browser problem in one of our APEX applications.
    When clicking on any button that does an insert or update to the database some users get an HTTP-400 Bad Request error message. The database does not get updated and anything they click on after that shows that message. In most cases we have been able to restore the user’s browser to the default settings and the issue is resolved. However, we were not able to isolate which browser setting is causing the issue. We have seen the issue in IE 6, IE 7 and IE 8.
    Here’s the error we see in the Apache server error log (minus the date time stamp and IP addresses):
    mod_plsql: /pls/ax_tastest/wwv_flow.accept HTTP-400 Invalid name
    Does anyone else have a solution for this? Know what's causing it?

    HTTP 400 Bad Request Error from APEX 3.1.1.00.09.
    We were able to determine that only PCs which had the Google toolbar installed were getting the HTTP 400 Bad Request Error from a particular page in one of our applications. Further testing revealed that turning off the ‘auto-fill’ feature of the Google toolbar would prevent the error from occurring and the application would behave normally. We were able to identify a specific item on the page that was the root cause. The item was using the type “Text area with HTML Editor” which has been deprecated. We changed the page item type to “HTML editor standard” and this has resolved the issue with or without the Google Toolbar and auto-fill feature enabled.
    Summary:
    •     Browser setting: Google toolbar enabled with auto-fill enabled.
    Apex page item of type: ‘Text area with HTML Editor’.
    When a user clicks on a button in the page, that executes a page process, it results in HTTP 400 error.
    •     Browser setting: Google toolbar enabled with auto-fill disabled.
    Apex page item of type: ‘Text area with HTML Editor’.
    When a user clicks on a button in the page, everything goes through correctly and there is no error.
    •     Browser setting: Google toolbar enabled with auto-fill disabled or enabled.
    Apex page item of type: ‘HTML Editor Standard’.
    When a user clicks on a button in the page, everything goes through correctly and there is no error.

  • Binding Error- 400 Bad request

    Hi All,
    We have 2 application servers in our PI environment. As per the load balancing the PI will point to any applciation server.
    We have deployed our ear file in our java stack of PI system. When i invoke the service it works for sometime and then we are getting 400 bad request error.
    I have taken the binding of 2 application url and checked. One binding is working fine and another binding is always showing us 400-Bad Request error.
    Please tell us what would gone wrong since the ear code works fine in all other environment.
    is it something to do with server.
    Help ..since it is stoping our testing.
    Regards,
    Suja

    The solution was to switch to Apache's HttpClient. no more problems with SUN's HttpUrlConnection!

  • Msg=Unsupported response content type "text/html; 400 Bad Request

    Hi All
    this is the excpetion that I get when I am tring to run the
    service MAnagerClient.
    whether it is a list or deploy command :
    can anybody help me?
    Exception in thread "main" [SOAPException: faultCode=SOAP-
    ENV:Protocol; msg=Unsupported response content type "text/html;
    charset=iso-8859-1", must be: "text/xml". Response was:
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <HTML><HEAD>
    <TITLE>400 Bad Request</TITLE>
    </HEAD><BODY>
    <H1>Bad Request</H1>
    Your browser sent a request that this server could not
    understand.<P>
    <HR>
    <ADDRESS>Oracle HTTP Server Powered by Apache/1.3.19 Server at
    ranaldb Port 1324</ADDRESS>
    </BODY></HTML>
    at org.apache.soap.rpc.Call.getEnvelopeString
    (Call.java:175)
    at org.apache.soap.rpc.Call.invoke(Call.java:212)
    at
    org.apache.soap.server.ServiceManagerClient.invokeMethod
    (ServiceManagerClient.java:129)
    at org.apache.soap.server.ServiceManagerClient.list
    (ServiceManagerClient.java:151)
    at org.apache.soap.server.ServiceManagerClient.main
    (ServiceManagerClient.java:237)

    Hello,
    Your message contains a an HTTP 404 error so the URL that you are trying to access is not valid.
    Can you check from a browser what is the response when you call the endpoint?
    http://server:port/wedanyservices-WedanyServicesPro-context-root/MyWebService2
    I believe that you do not have a service deployed at this URL this is why you have such response, and you cannot send another response.
    Regards
    Tugdual Grall

  • Invalid request in SOAP Scenario - "HTTP 400 Bad Request"

    Hi,
    By sending request to a Webservice thorugh XI ,I am getting an error as "HTTP 400 Bad Request" in MONI and the response payload looks like this
    "Request Error (invalid_request)
    Your request could not be processed. Request could not be handled 
    This could be caused by a misconfiguration, or possibly a malformed request. 
    For assistance, contact your network support team."
    I copy pasted the request payload in SOAP UI,  there its working fine.I don't know where it goes wrong.
    Please help me in that...
    Thanks & Regards,
    Yuga

    Hi Yugapreetha,
    Error: HTTP 400- Bad Request- ICM_HTTP_CONNECTION_FAILED
    Description: The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
    Possible Tips: May be because of huge message flow. Related SAP Notes-824554, 906435, 783515, 910649, 706563 If it is because of Queue problems have a look into SMQ2 .
    And also here are a list of possible reasons for your problem with solutions.
    It could be that it cannot find your file adapter.
    1. Have you specified your hostname or IP address? Often the server cannot resolve the ip address for the hostname of your PC.
    2. Is the path and port in the directory the same as the path and port of your file adapter?
    3. Try question 14 (integration engine section)
    /people/mark.finnern/blog/2006/01/12/finally-best-of-sdn-2005
    4. also question 11 (in the same section)
    5. if the avove will not fix it open XI config guide and
    have a look at section
    "Connecting Business Systems with an Integration Engine to the Central Integration Server"
    6. Your error code is 400, so check this link,
    http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
    For http 400 - its a bad request.
    'The request could not be understood by the server due to malformed syntax.'
    If you have the XI trouble shooting guide see from page 54,and also try:
    1.Check that the port really is the ICM HTTP Port (transaction
    SMICM) and not the J2EE port
    2.If the port is wrong, change the pipeline URL in the SLD in
    the business system of the Integration Server
    3.Restart the J2EE Engine to reset the SLD buffer of the
    Adapter Engine
    Source- "XI troubleshooting guide"
    Check out this SAP Note- 824554
    Also this links
    ICM_HTTP_CONNECTION_FAILED
    Cache Refresh~
    https://websmp201.sap-ag.de/~sapdownload/011000358700003163902004E/HowTo_handle_XI_30_Caches.pdf
    Reprocessing failed XI messages:
    /people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically
    Regards,
    Vinod.

  • Error: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request

    Hi Gurus,
    i am hardly fighting with this error in Communication Channel Monitoring:
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request
    SOAP: call failed: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request
    This is my scenario.
    I do a File to SOAP Scenario. in SXI_MONITOR everything is fine.
    My CommChan is a SOAP Receiver
    HTTP
    SOAP 1.1
    Central Adapter Engine
    Target URL is https --> i check url for correctness
    Configure User Authentication is checked and username and pw are given and are correct.
    Configure Certificate Authentication is checked are working
    Configure Proxy is checked and Host and port are povided.
    SOAP Action is provided
    In Tab Module
    if have this Processing Sequence
    1     localejbs/AF_Modules/MessageTransformBean     Local Enterprise Bean     transform
    2     sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean     Local Enterprise Bean     1
    and this Module configuration (and only this)
    transform     Transform.ContentType     text/xml;charset=utf-8
    (according to /people/sobhithalaxmi.kata/blog/2009/07/21/cost-free-edi-integration-using-message-transformation-bean)
    As far as i understand that my http header should have Content-Type: text/xml;charset=utf-8 now. I don't understand why Communication Channel Monitoring shows an error according to content TEXT/HTML.
    Can anyone help me with that?
    Is it possible that Transform.ContentType does not work for SOAP Receiver Adapter?
    is there any chance to view the HTTP-Header of the outgoing SOAP Request (with PI Transaction / Java Enironment) to convince myself that the HTTP Header is text/xml?
    Thank you in advance and Best Regards
    Udo

    Hi Thanks for your fast replies.
    The Provider of the Endpoint tells me that he needs text/xml as content-type. When I sent a message to the given Endpoint via SOAP UI I can see in the HTTP LOG of SOAP UI that the Endpoint is also sending text/xml back.
    Below you find the Details log out of the CommChan Monitoring.
    2011-04-29 11:37:45 Information The message status was set to TBDL.
    2011-04-29 11:37:45 Information Retrying to deliver message to the application. Retry: 3
    2011-04-29 11:37:45 Information The message was successfully retrieved from the receive queue.
    2011-04-29 11:37:45 Information The message status was set to DLNG.
    2011-04-29 11:37:45 Information Delivering to channel: getxxxxx_In  <---- name of my SOAP Receiver CommChan
    2011-04-29 11:37:45 Information Transform: using Transform.Class:  $identity
    2011-04-29 11:37:45 Information Transform: transforming the payload ...
    2011-04-29 11:37:45 Information Transform: successfully transformed
    2011-04-29 11:37:45 Information SOAP: request message entering the adapter with user J2EE_GUEST
    2011-04-29 11:37:46 Error SOAP: call failed: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request
    2011-04-29 11:37:46 Information SOAP: sending a delivery error ack ...
    2011-04-29 11:37:46 Information SOAP: sent a delivery error ack
    2011-04-29 11:37:46 Error SOAP: error occured: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request
    2011-04-29 11:37:46 Error Adapter Framework caught exception: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request
    2011-04-29 11:37:46 Error Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 400 Bad Request.
    2011-04-29 11:37:46 Error The message status was set to NDLV.
    What i am missing is a hint on the Message Transform Bean and a on a successfull sending process.
    What i also tried already:
    i also activated the checkbox "Do not use SOAP Envelop" in CommChan Configuration. The Result you see below (the last log entry is on first line - so read from bottom to top)
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 400 Bad Request
    error in response
    call completed
    request entering
    Message processing started
    As you can see there is a "call completed" and "error in response" log entry. This is missing in in the first Log. So i guess the error is still in the sending process.
    Installing additional Software on the PI and use them to find out what the HTTP Request is is not possible as system access is very strict and limited :/

  • HTTP 400 Bad Request when accessing Oracle XE/Apex from the Internet

    I have Oracle Express Edition upgraded to Apex 3.2. I can access everything (SQL prompt, Apex HTTP) from my local machine. I have configured the server for remote access on a non-default (not 8080) port.
    I have executed: exec dbms_xdb.setListenerLocalAccess(false);
    I can access the server using:
    http://coyote:9977/apex (brings me to Application Express Administration Services login screen)
    (where "coyote" is the local machine name of my Windows Vista box, where the Oracle/Apex server is installed.)
    But when I try:
    http://internet_server_name:9977/apex
    (where "internet_server_name" is the internet DNS name visible of my machine visible from the internet.)
    I get "HTTP 400 Bad Request"
    I know the request is hitting the Oracle Listener (getting through firewalls, cable modem router, etc) since the http attempt causes the entry:
    20-MAR-2009 20:36:53 * http * (ADDRESS=(PROTOCOL=tcp)(HOST=68.189.244.22)(PORT=52540)) * handoff * http * 0
    to be made in the C:\oraclexe\app\oracle\product\10.2.0\server\network\log\listener.log
    An attempt using the local (Windows) machine name makes a similar entry in the listener log:
    20-MAR-2009 20:47:35 * http * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.7)(PORT=52811)) * handoff * http * 0
    This seems like a security issue of some kind (is the server dropping a request from "outside" the local domain?)
    I'm new to Oracle so I am not familiar with how to debug this sort of connectivity issue. In case it helps:
    LSNRCTL> status
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    Start Date 20-MAR-2009 19:27:00
    Uptime 0 days 1 hr. 30 min. 59 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Default Service XE
    Listener Parameter File C:\oraclexe\app\oracle\product\10.2.0\server\network\admin\listener.ora
    Listener Log File C:\oraclexe\app\oracle\product\10.2.0\server\network\log\listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=coyote)(PORT=1521)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=coyote)(PORT=9977))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
    Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "XEXDB" has 1 instance(s).
    Instance "xe", status READY, has 1 handler(s) for this service...
    Service "XE_XPT" has 1 instance(s).
    Instance "xe", status READY, has 1 handler(s) for this service...
    Service "xe" has 1 instance(s).
    Instance "xe", status READY, has 1 handler(s) for this service...
    The command completed successfully
    Any help appreciated,
    john

    Hans Forbrich wrote:
    CoyoteTech wrote:
    I have tried running with the firewall (F-Secure) completely disabled, but it made no difference. I do see the request hit the listener, and the handoff appears to be successful, but it goes silent from there. I also have a cable modem router that has the port forwarding set, but maybe there are other handoff ports besides the initial one (e.g. 8080) that need to be forwarded?Please also check the Windows firewall is off as well. Yes, Windows Firewall is disabled as well. See my previous post to Tyler - I'm pretty sure the reqwuest makes it through the firewall/router layer, since it causes an entry in Listener.log
    Is your problem through the router only? In other words, if you try from a second machine that is on the same side as your XE, are you working OK? (My home ISP blocks a bunch of ports. Including SMTP, FTP, Telnet. And 8080 since that is a traditional default for many Java 'servers'.)
    Yes, it appears to be related to a non-local IP address. I'm sure it makes it through the router - I also have several other ports that make it through (e.g. port 80).
    I have poked around the DBMS_EPG docs, and ran a few of the commands there (list DADS etc). DBMS_EPG was first 'released' to us in 10gR2. As far as I'm concerned, XE is the public 'beta' or 'release candidate'. (This is supported by Oracle's docs that state that Apex using DBMS_EPG is first supported using 10.2.0.3 or 11g.) There are known bugs and there is no way to patch XE to fix them. However, I do not know whether you are hitting those bugs.
    http://www.astral-consultancy.co.uk/cgi-bin/hunbug/doco.cgi?11410 provides some good notes.
    Interesting. I will check out these docs later today.
    >>
    What happens when the listener hands off to a registered handler?
    http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/concepts.htm#i1049597 gives a good description.
    Thanks.
    How do I pick up the [log] trail from there?I'm thniking that the listener's log is still the primary way to go. You may need to increase the log or trace level. I have not investigated how to gen or access logs inside EPG.I tried Tyler's trace but did not seem to add additional info to the Listener.log.

  • INVITE with display-name=""  in Contact header- 400 Bad request from occas

    Hi,
    When a UAC sends an INVITE to OCCAS
    with the Contact header in the form :
    Contact: "" <sip:user@domain>
    OCCAS rejects the message with 400 Bad request.
    The problem comes from display-name = ""
    (proven easily with sipp)
    In the 400 response : X-Bad-Request: Illegal header "Contact"
    It seems that the string "" as display name should be allowed according to rfc 3261:
    display-name = *(token LWS)/ quoted-string
    quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
    qdtext = LWS / %x21 / %x23-5B / %x5D-7E/ UTF8-NONASCII
    quoted-pair = "\" (%x00-09 / %x0B-0C / %x0E-7F)
    Has anyone encountered the problem?
    regards
    Christophe

    Hi LJ, you may want to post over on the new My Oracle Support Communications Community which is moderated by and responded to by Oracle Support and accessible by Oracle customers. Many new features will be developed for the Community in the coming months, please come and check it out at https://metalink.oracle.com/CSP/ui/index.html
    Regards
    Graham

  • Rest API v1 Getting Error 400 bad Request

    Hi,
    we have a very strange problem. We are using a custom JAVA WebDynpro UI for doing our approval workflows, and are making an upgrade from NW Version 7.0 to 7.31 (finally ). We have upgraded the DEV System without any troubles everything works fine with NW 7.31.
    In the PROD IDM we have this scenario:
    We have a Sandbox NW UI that was now upgraded to 7.31 and the PROD UI which still runs on 7.0. Both UIs have the PROD IDM DB linked.
    There are several approval steps with a custom Request Object in our workflows.
    Some approval steps work without any problems with the 7.31 UI, but in some steps we geht the Error 400 bad request from the REST Interface.
    When I approve the same approval with the 7.0 UI it works fine. We also debugged the REST Call, which is sent to the rest service and can't find any differences, it looks like this:
    http://<hostsbx>/idmrest/v72alpha/approvals/1568881/entries/545283/tasks/101870?APPROVED=TRUE which does not work
    and
    http://<hostprd>/idmrest/v72alpha/approvals/1568881/entries/545283/tasks/101870?APPROVED=TRUE which does work
    There are other tasks which work with both UIs.
    What else could we check?
    BR,
    Andreas

    Hi,
    thanks we also made the changes described in the note, which works on DEV fine.
    It is strange that one approval task works and the other not, so I think the problem might not be in the NW Configuration?
    BR,
    Andreas

  • Still getting this Internal error: 400 bad request. (115000).

    I am still getting this Internal error: 400 bad request. (115000). I read that it was supposed to be fixed in Muse 3. I am using forms with long labels. Please help.
    Thanks.
    Bill Murphy

    Thanks but his is how I solved my issue. I added a link in the Label in its own text box to look like a button. This is because I could not add a link in a label omits own. This is a nice solution because the linked info is opened in its own page so when the use closes that page there form is not lost and they can continue to the next form field. A work around that made my project look better.
    If you can tell me how to add a close button or link on the info pages that would help so the user can see it right off and not have to use the browser to close the newly opened window.
    Thanks for getting back to me. I would send you the muse file to test but I copied over it making this new version.
    Bill Murphy
    (647) 966-9325
    [email protected]
    www.purplealien.net
    Communication is everything; without it we have nothing.

Maybe you are looking for