Securing WebServices call without user login

Hello,
I spawned a thread in the Java Technologies for Web Services forum about different approaches to securing web service interactions.
The security level required is:
- guaranteeing the server's identity (so that the customer does not talk to a phishing server
- guaranteeing the client's identity (so that we don't provide the service for free, and don't leak customer-specific data across customers)
- encrypting the exchanged data
Whichever approach will end up having some local security info stored on the client machine (e.g. client certificate used to guarantee the client machine identity).
Now we have a requirement from some customers that the operator be not required to input any password on the client computer (basically the whole client system is some industrial machine (let's say a steel-knitting machine), and the operator does not knowingly use a computer, but merely a steel-knitting machine with levers and a couple of big plastic square on/off push-buttons).
We also don't have the power or time-to-market to include a hardware authentication mean (e.g. an ID card or dongle).
As far as running our software go, no problem, we will configure the OS to auto-log on startup.
However, we are concerned that the client software, and its client configuration, may be copy-pasted on another machine, and used to sniff our provider's valuable steel-knitting patterns (those data whose transport has to be encrypted).
You may have understood that I am a totally noob as to security aspects. I hope you can help me with the following questions:
- Is there any way to prevent a clone of the client software being copied onto another host?
I guess not; I mean, as far as someone can log onto the machine using the same user as the one the software runs under, he can download the software package, including the configuration and certificates.
- Is there any built-in mechanism that could makes the certificate unreadable or invalid on a cloned machine (e.g., if the certificate includes some terminal-specific info, such as a MAC address)?
- would a check of the client's IP address protect me - I think an attacker can forge its sending IP address, but then he may not receive the reply, is that correct?
Note that we trust our customers to not install more steel-knitters than they bought, so validating the full DNS hostname would protect us. But I'm probably naive to think that we can guarantee against forged domain names.
- It it hopeless? AFAIC, the customer is violating the recommendation to base security on "something he has (conf) plus something he knows (password)". Is it enough of a no-go to pop up the problem to the boss or sales, so that they try to convince the customers?

It's a nogo.Thanks for your valued opinion.
Yes, the more I think about it, the more I'm convinced the requirement is technically unreasonable - although I understand that they want to lower the training and process costs.
(blushing) From a formal point of view (hey, I have a marketing guy to convince first), I haven't found an advisory bulletin from e.g., CERT or OWASP, to support the claim "it's obvious that you can't authenticate a person without a password or a body scan". It must be too obvious...
I'd like to bend their head to authenticating the hardware instead (card/dongle).
What you need here is mutually authenticated SSL with an HSM at the client that requires a password for its use.Yes we are going the mutually authenticated SSL route (subject of the other thread).
As far as using an HSM go, anything more robust that personal cards (which can be a form of HSM) is bound to be too costly for the market.
I'm concerned though about requiring a password: if we force a password scheme onto reluctant customers, I'm convinced we will end up with company-wide passwords shared among all operatives.
Not that different from having a shared (non-password protected) card/dongle that unlocks the machine (e.g. hosts the certificate and compute keys, I don't know too well how an ID card works). The card scheme seems even more secure, as attempts against the card (card lost, stolen, damaged) are more likely to be reported (and trigger revocation of the certificate) than password leaks.
Edited by: jduprez on Sep 14, 2009 3:04 PM

Similar Messages

  • Securing webservice call from to siebel

    Hi,
    We have implemented OPA with siebel integration, where in we launch OPA from siebel.OPA calls a webservice on siebel which fetches data from siebel. We want that weservice call to be secured i.e. to use https and not http. Anybody have any idea in doing this. The url in siebel-data-adapter file has to be https and not http.

    Ecstasy wrote:
    Hi,
    We have implemented OPA with siebel integration, where in we launch OPA from siebel.OPA calls a webservice on siebel which fetches data from siebel. We want that weservice call to be secured i.e. to use https and not http. Anybody have any idea in doing this. The url in siebel-data-adapter file has to be https and not http.There are two parts to solving this problem.
    Part 1: ( setting up the Siebel Inbound web service so it runs through HTTPS. You should consult the Siebel documentation for this and it will require running HTTPS with a certificate through something like apache or IIS (for windows).
    Part 2: Once you have the inbound web services running under HTTPS, you can set the URL in the siebel-data-adapter properties to point to the HTTPS service, however, when you make a call from Web Determinations to Siebel. It will probably fail with a an exception. This will probably happen if you have used an self-signed or untrusted certificate.
    The second part of this problem is setting up the java run-time environment to accept the certificate that the HTTPS service is using (set up under part 1). There are several different ways of doing this, but I found the following the easiest.
    1. get the public part of the certificate.
    2. create a keystore/truststore and add that certificate (or add to existing keystore).
    3. point the jvm to that truststore , You do this through setting java system properties.
    Example Java properties
    In the example below, I have put the public certificate into a keystore called "siebel_wd_keystore" and I want to point my apache-tomcat to use that as a trust store. The system properties that need to be set are as follows.
    -Djavax.net.ssl.trustStore="C:\trust_store\siebel_wd_keystore"
    -Djavax.net.ssl.trustStorePassword=siebel Because this is tricky there is a very useful system property that you can set, that will give you lots of debugging information about SSL. If its not working, setting this property give you a lot more information in your logs.
    -Djavax.net.debug=sslIf the setting above doesnt seem to give you more information, thats probably a sign that you aren't setting the system properties correctly for your application server.

  • Release Iview for call without user identification

    Hi,
    i created in the netweaver business client portal an iview for my webdynpro hello world application. New i want to release this iview for my friends without any user identification.
    It should be possible to call the iview with a simple URL I give to them.
    Thanks.
    Regards,
    Christoph

    Hey,
    I changed the authentication mode to anonymous, but i get the following error in the browser when calling the iview...
    Protocol cannot be switched to HTPPS; HTTPS is not configured/active
    Can anybody help me?
    Thansk.

  • Give ZEN app file system rights so can install without user login

    ZfD 6.5.2 NW 6.5.5
    Is it possible to give an app rights to the file system on a Netware
    box to find the msi it needs to install even if there isn't a user
    logged in to the workstation?
    We have an app associated with workstations and when we tried to push
    it a number of installs failed because the users were logging on
    workstation only.
    This is also relevant to apps which install as "unsecure system user"
    because they do not inherit the logged-in user's Netware file system
    rights. In the past we've given the [public] trustee rights in order to
    get round this problem but would like a better solution.
    Anthony

    See .....................
    https://secure-support.novell.com/Ka...AL_Public.html
    Craig Wilson - MCNE, MCSE, CCNA
    Novell Support Forums Volunteer Sysop
    Novell does not officially monitor these forums.
    Suggestions/Opinions/Statements made by me are solely my own.
    These thoughts may not be shared either Novell or any rational human.
    "Craig Wilson" <[email protected]> wrote in message
    news:[email protected]...
    > Note: You could also configure the MSI app to "Force Cache". This way the
    > install source would be cached to the local PC.
    >
    >
    > --
    > Craig Wilson - MCNE, MCSE, CCNA
    > Novell Support Forums Volunteer Sysop
    >
    > Novell does not officially monitor these forums.
    >
    > Suggestions/Opinions/Statements made by me are solely my own.
    > These thoughts may not be shared either Novell or any rational human.
    >
    > "Craig Wilson" <[email protected]> wrote in message
    > news:[email protected]...
    >> You may need to assign the MSI to the Workstation object and set the
    >> application to "Distribute in Workstation Security Space if Workstation
    >> Associated".
    >>
    >> Apps can be configured to use "User" or "Workstation/System" credentials,
    >> but an app will never try one if the other is not available. It simply
    >> uses the one for which it is configured.
    >>
    >> There is a really nice TID someplace that shows what security space
    >> different parts of ZEN run in, but I cant find it at the moment.
    >> I will keep looking, but many somebody else knows where it is.
    >>
    >> In regards to your missing icons, most likely nobody has seen it or has
    >> any ideas what it may be.
    >> I could not.
    >>
    >> If posts go unanswered, you can always try reposting and mentioning you
    >> did not get an answer previously.
    >> I know that I dont answer unless I have a good idea of what is wrong.
    >> Tossing out guesses my dissuade others from giving their thoughts.
    >> But once they know you are not getting any answers, folks tend to toss
    >> out more guesses.
    >>
    >> --
    >> Craig Wilson - MCNE, MCSE, CCNA
    >> Novell Support Forums Volunteer Sysop
    >>
    >> Novell does not officially monitor these forums.
    >>
    >> Suggestions/Opinions/Statements made by me are solely my own.
    >> These thoughts may not be shared either Novell or any rational human.
    >>
    >> "Anthony Hilton" <[email protected]> wrote in message
    >> news:[email protected]...
    >>> Anthony Hilton wrote:
    >>>
    >>>> Craig Wilson wrote:
    >>>>
    >>>> > Grant Rights to the "Workstation Object".
    >>>> >
    >>>> > This will address some of the issues.
    >>>> > Be sure to not use "Mapped" drives as well.
    >>>>
    >>>> Thanks Craig. I'll do that through the workstation group which the zen
    >>>> app is associated with.
    >>>>
    >>>> Yes, the app uses UNC path.
    >>>>
    >>>> I'm glad you're still here - my 2 previous threads (17 April and 9 May
    >>>> both about missing icons) have gone un-answered and I was beginning to
    >>>> wonder whether everyone had moved over to the Zfd7 forums.
    >>>>
    >>>
    >>> No success yet.
    >>>
    >>> The Workstation group already had RF rights to the directory containing
    >>> the msi. The workstation's effective rights show RF to the msi itself
    >>> but running the Zen app gives msi error 1620 which suggests either no
    >>> access to the source or a share name over 12 characters.
    >>>
    >>> \\server\sys\public\it\zenapps\supplier_opthalmolo gy\supplier_opthalmolo
    >>> gy.msi doesn't seem to breach the 12 character limit.
    >>>
    >>> Any other ideas?
    >>>
    >>> Anthony
    >>>
    >>> --
    >>>
    >>
    >>
    >
    >

  • Issue in Calling https webservice calls from Weblogic

    Hi,
    My application is hosted on the weblogic server.
    I am trying to call http basic authenticated webservice from my application.
    But I am not able to access it. I am getting error.
    Exception occured while calling WS : 2 counts of InaccessibleWSDLException.
    com.sun.xml.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.
    java.io.FileNotFoundException: Response: '401: Unauthorized' for url: 'https://somehost/ws/xyz.wsdl'
    java.io.FileNotFoundException: Response: '401: Unauthorized' for url: 'https://somehost/ws/xyz.wsdl?wsdl'
    I have added the code to authenticate the request. But it seems that it is not working from weblogic.
    class MyAuthenticator extends Authenticator {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
    PasswordAuthentication pwa = new PasswordAuthentication(
    "uname",
    "pwd".toCharArray());
    return pwa;
    Authenticator authenticator = new MyAuthenticator();
    Authenticator.setDefault(authenticator);
    PaymentService webForm=new PaymentService(wsURL, getDefaultQName(PaymentService.class)); ---> Exception occurs here.
    PaymentWebForm sessionService=webForm.getPaymentSoap11();
    response=sessionService.getSession(wfSessionRequest);
    Please help. This is not working only from weblogic however if I execute it from standalone Java client then it worked without any issue.
    Is there any configuration needs to be done in Weblogic for secure webservice calls? Please advise.
    Thanks,
    -Pankaj Chomal

    The same probolem happened in my side.
    1.web.xml
    <security-role>
    <description>role for acess the WS api</description>
    <role-name>Admin</role-name>
    </security-role>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>web service api</web-resource-name>
    <url-pattern>/ws/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name> Admin</role-name>
    </auth-constraint>
    <user-data-constraint>
    <transport-guarantee>NONE</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    </login-config>
    2.weblogic.xml have you done?
    <security-role-assignment>
    <role-name>Admin</role-name>
    <principal-name>Administrators</principal-name> //weblogic server group
    </security-role-assignment>
    3.1 calling in a Main method , it works!
    Authenticator.setDefault(new Authenticator() {
         protected PasswordAuthentication getPasswordAuthentication() {
         return new PasswordAuthentication("wsuser", "12345678".toCharArray());
    HrWebService hws = new HrWebServiceService().getHrWebServicePort();
    System.out.println("Result:====="+ hws.getEmpInfoByQryContent("100384"));
    com.jl.ws.hello.AuthHello ah = new AuthHelloImplService().getAuthHelloImplPort();
         System.out.println(ah.say("Edward"));
    3.2 each method as following(including the method above mentioned) called failed in a jsp page, any good idea?
    method a:
    javax.security.auth.Subject mySubject = weblogic.security.services.Authentication.login(
              new weblogic.security.URLCallbackHandler("wsuser", "12345678"));
    weblogic.servlet.security.ServletAuthentication.runAs(mySubject, request);
    method b:
    javax.security.auth.callback.CallbackHandler handler = new weblogic.security.URLCallbackHandler("wsuser", "12345678");
    javax.security.auth. Subject mySubject = weblogic.security.services.Authentication.login(handler);
    weblogic.servlet.security.ServletAuthentication.runAs(mySubject, request);
    method c:
    weblogic.servlet.security.ServletAuthentication.login("wsuser", "12345678", request,response);
    4. excpeiton message
    javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://localhost:7001/jlerp/ws/hr/hrSearch?wsdl. It failed with:
         Response: '401: Unauthorized' for url: 'http://localhost:7001/jlerp/ws/hr/hrSearch?wsdl'.
         at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:172)
         at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:153)
         at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:284)
         at com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:246)
         at com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:197)
         at com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:187)
         at weblogic.wsee.jaxws.spi.WLSServiceDelegate.(WLSServiceDelegate.java:73)
         at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegate.(WLSProvider.java:515)
         at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:103)
         at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:95)
         at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:71)
         at javax.xml.ws.Service.(Service.java:56)
         at com.jl.ws.hr.HrWebServiceService.(HrWebServiceService.java:53)
         at com.jl.ws.HrSearchClient.hell0(HrSearchClient.java:32)
         at jsp_servlet._de._jsp.__dejjuserlist._jspService(__dejjuserlist.java:136)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:35)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.io.FileNotFoundException: Response: '401: Unauthorized' for url: 'http://localhost:7001/jlerp/ws/hr/hrSearch?wsdl'
         at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:474)
         at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:37)
         at java.net.URL.openStream(URL.java:1010)
         at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:842)
         at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:289)
         at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:138)
         at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:284)
         at com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:246)
         at com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:198)
         at com.sun.xml.ws.client.WSServiceDelegate.(WSServiceDelegate.java:190)
         at weblogic.wsee.jaxws.spi.WLSServiceDelegate.(WLSServiceDelegate.java:62)
         at weblogic.wsee.jaxws.spi.WLSProvider$ServiceDelegate.(WLSProvider.java:515)
         at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:103)
         at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:95)
         at weblogic.wsee.jaxws.spi.WLSProvider.createServiceDelegate(WLSProvider.java:71)
         at javax.xml.ws.Service.(Service.java:56)
         at com.jl.ws.hr.HrWebServiceService.(HrWebServiceService.java:54)
         at com.jl.ws.HrSearchClient.hell0(HrSearchClient.java:32)
         at jsp_servlet._de._jsp.__dejjuserlist._jspService(__dejjuserlist.java:138)
         ... 10 more
    any info is thankful.
    Edited by: EdwardXiao on Jan 8, 2013 10:48 PM

  • Calling secured webservice from java

    Hi Experts,
    I am trying to call a secured webservice from java.
    I got the code to call a non secured web service in java.
    What changes do i need to do in this to call a secured webservice.
    Please help me.
    Thank you
    Regards
    Gayaz
    calling unsecured webservice
    package wscall1;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.StringBufferInputStream;
    import java.io.StringReader;
    import java.io.StringWriter;
    import java.io.Writer;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.security.Permission;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.ParserConfigurationException;
    import org.apache.xml.serialize.OutputFormat;
    import org.apache.xml.serialize.XMLSerializer;
    import org.w3c.css.sac.InputSource;
    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    public class WSCall2 {
    public WSCall2() {
    super();
    public static void main(String[] args) {
    try {
    WSCall2 ss = new WSCall2();
    System.out.println(ss.getWeather("Atlanta"));
    } catch (Exception e) {
    e.printStackTrace();
    public String getWeather(String city) throws MalformedURLException, IOException {
    //Code to make a webservice HTTP request
    String responseString = "";
    String outputString = "";
    String wsURL = "https://ewm52rdv:25100/Saws/SawsService";
    URL url = new URL(wsURL);
    URLConnection connection = url.openConnection();
    HttpURLConnection httpConn = (HttpURLConnection)connection;
    ByteArrayOutputStream bout = new ByteArrayOutputStream();
    //Permission p= httpConn.getPermission();
    String xmlInput =
    "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ser=\"http://www.ventyx.com/ServiceSuite\">\n" +
    " <soapenv:Header>\n" +
    "     <soapenv:Security>\n" +
    " <soapenv:UsernameToken>\n" +
    " <soapenv:Username>sawsuser</soapenv:Username>\n" +
    " <soapenv:Password>sawsuser1</soapenv:Password>\n" +
    " </soapenv:UsernameToken>\n" +
    " </soapenv:Security>" + "</soapenv:Header>" + " <soapenv:Body>\n" +
    " <ser:GetUser>\n" +
    " <request><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" +
                "                        <GetUser xmlns=\"http://www.ventyx.com/ServiceSuite\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
                "                        <UserId>rs24363t</UserId>\n" +
                "                        </GetUser>]]>\n" +
    " </request>\n" +
    " </ser:GetUser>\n" +
    " </soapenv:Body>\n" +
    "</soapenv:Envelope>";
    byte[] buffer = new byte[xmlInput.length()];
    buffer = xmlInput.getBytes();
    bout.write(buffer);
    byte[] b = bout.toByteArray();
    String SOAPAction = "GetUser";
    // Set the appropriate HTTP parameters.
    httpConn.setRequestProperty("Content-Length", String.valueOf(b.length));
    httpConn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
    httpConn.setRequestProperty("SOAPAction", SOAPAction);
    // System.out.println( "opening service for [" + httpConn.getURL() + "]" );
    httpConn.setRequestMethod("POST");
    httpConn.setDoOutput(true);
    httpConn.setDoInput(true);
    OutputStream out = httpConn.getOutputStream();
    //Write the content of the request to the outputstream of the HTTP Connection.
    out.write(b);
    out.close();
    //Ready with sending the request.
    //Read the response.
    InputStreamReader isr = new InputStreamReader(httpConn.getInputStream());
    BufferedReader in = new BufferedReader(isr);
    //Write the SOAP message response to a String.
    while ((responseString = in.readLine()) != null) {
    outputString = outputString + responseString;
    //Parse the String output to a org.w3c.dom.Document and be able to reach every node with the org.w3c.dom API.
    Document document = parseXmlFile(outputString);
    NodeList nodeLst = document.getElementsByTagName("User");
    String weatherResult = nodeLst.item(0).getTextContent();
    System.out.println("Weather: " + weatherResult);
    //Write the SOAP message formatted to the console.
    String formattedSOAPResponse = formatXML(outputString);
    System.out.println(formattedSOAPResponse);
    return weatherResult;
    public String formatXML(String unformattedXml) {
    try {
    Document document = parseXmlFile(unformattedXml);
    OutputFormat format = new OutputFormat(document);
    format.setIndenting(true);
    format.setIndent(3);
    format.setOmitXMLDeclaration(true);
    Writer out = new StringWriter();
    XMLSerializer serializer = new XMLSerializer(out, format);
    serializer.serialize(document);
    return out.toString();
    } catch (IOException e) {
    throw new RuntimeException(e);
    private Document parseXmlFile(String in) {
    try {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    InputSource is = new InputSource(new StringReader(in));
    InputStream ins = new StringBufferInputStream(in);
    return db.parse(ins);
    } catch (ParserConfigurationException e) {
    throw new RuntimeException(e);
    } catch (SAXException e) {
    throw new RuntimeException(e);
    } catch (IOException e) {
    throw new RuntimeException(e);
    } catch (Exception e) {
    throw new RuntimeException(e);
    static {
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() {
    public boolean verify(String hostname, javax.net.ssl.SSLSession sslSession) {
    if (hostname.equals("ewm52rdv")) {
    return true;
    return false;
    }

    Gayaz  wrote:
    What we are trying is we are invoking webservice by passing SOAP request and we will get soap response back.I understand what you're trying to do, the problem is with tools you're using it will take a while for you do anything a little away from the trivial... Using string concatenation and URL connection and HTTP post to call webservices is like to use a hand drill... It may work well to go through soft wood, but it will take a lot of effort against a concrete wall...
    JAX-WS and JAXB and annotations will do everything for you in a couple of lines and IMHO you will take longer to figure out how to do everything by hand than to learn those technologies... they are standard java, no need to add any additional jars...
    That's my thought, hope it helps...
    Cheers,
    Vlad

  • Calling A Secured webservice using Username and password in the Soap header

    I want to call a secured webservice.
    The Username and password should be sent with the payload in the SOAP Header
    as
    <wsse:Security S:mustunderstand="0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken wsu:Id="SecurityToken-XXXXXXXXXXXXXXXXXXXXXXXXX" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:Username>uname</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">pwd</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    Can you please send me the steps?
    I tried with giving the username and password under Service Account.
    I tried to create a wspolicy under business service. But nothing works...
    Please help me at the earliest.
    Also please give me steps in sequence.

    Now i made sure that the endpoint is available!
    Now am getting this error:
    <soapenv:Fault>
    <faultcode>soapenv:Server</faultcode>
    <faultstring>BEA-380002: localhost1</faultstring>
    <detail>
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-380002</con:errorCode>
    <con:reason>localhost1</con:reason>
    <con:location>
    <con:node>RouteNode1</con:node>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    </detail>
    </soapenv:Fault>
    Also in the invocation trace i can observe the following things:
    Under Invocation Trace:-
    ========================
         Receiving request =====> Initial Message context
         ===============================================
         under added header:-
         ==================
         <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         </soap:Header>
         under RouteNode1
    ================
         Route to "TargetMyService_BS"
    $header (request):-
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header>
    Under Message Context changes:-
    *===============================*
    I can find this element also:-
    con:security>
    *<con:doOutboundWss>false</con:doOutboundWss>*
    *</con:security>*
    eventhough we enabled ws security, how the above tag can be false?
    I think its getting failed to populate the header with the required login credentials.
    The other doubt i have is:-
    =================
    I have chosen the service account type is static...is this right?

  • How to enable PIN authentication to make outgoing call , without login?

    Hi experties,
    In my organization, there are 2 type of user defined by management, which is user uses Extention Mobility(Login/Logout) at any IP Phone and the other side is users uses share ip phone as common number. each user have their own login profile, but how can i enable the sharing user do not have to login but they can uses their PIN to make outgoing call without login to ip phone. This features we normally found in analog phone where each user have personal PIN for outgoing call. for your infomation we're using CCM4.1(3)sr3c and IPPhone 7940 and 7960..Thanks in advance..

    It sounds like you want to use Forced Authorization Code. On the route pattern out check 'Require Forced Authorization Code' and set a level. Callers using the route pattern will now be prompted to enter their code with 3 beeps. Go under Feature-Forced Authorization Code and create some codes. If the codes are the same or higher level as what is assigned to the route pattern the call will go out.
    Don

  • Can i able to do DBUM trusted recon without mapping User Login

    Hi All,
    Is is it possible to do dbum trusted reocon without mapping User Login field? , As it going to create automatically using post process event handler.
    I am able to recon when i map userlogin otherwise not. But my need is userlogin shud create automatically. How can i achieve this
    Any suggestions????
    Regards,
    user7609

    This approach will be working fine with first time recon(New user creation) and you don't need to do anything extra.
    But, the problem will ocur in case of update (next time recon of same user). As the userlogin is mapped with the target source and you have changed it using post process event handler. So, the same record it will consider as updatable and it will again try to update the existing user login. Yes, you can, call your event handler on update as well. So that it will update again to previous. This will be worst approach. beacause, It will process the same record always .
    Again I suggest you. Better Go for transformation. which will serve your purpose. In this case you do not need to map user login from trusted source. transformation class will generate user login on pre-insert.

  • How can I call a stateful webservice from a user-defined XPath function?

    I'm calling a stateful webservice from a BPEL process using a PartnerLink which implements Custom Header Handler classes to handle the session state, storing the cookie as a property of the PartnerLink.
    I'd also like to call this same stateful webservice, in the same session, from a user-defined XPath function enabling me to call this from an XSL Transformation.
    Is this in any way possible? Can I access the cookie and attach it to the webservice call made by the user-defined XPath function?

    Actually, as long as the servlet returns valid javascript, you can indeed "call it" from the client. It will initiate a request and return the result to the browser.
    This example uses Perl, but it could be easily modified to go to a servlet instead.
    Note that it is only supported in DOM browsers (IE6+/NN6+/etc)
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
    <html>
    <head>
    <title> Test server-side JS </title>
    </head>
    <body>
    <script type="text/javascript">
    function checkIt(variable, value)
    var newScript = "cgi-bin/validateJS.cgi?"+variable+"="+value;
    var body = document.getElementsByTagName('body').item(0)
    var scriptTag = document.getElementById('loadScript');
    if(scriptTag) body.removeChild(scriptTag);
    script = document.createElement('script');
    script.src = newScript;
         script.type = 'text/javascript';
         script.id = 'loadScript';
         body.appendChild(script)
    </script>
    <p>Test.</p>
    <form id="f1" action="">
    <input type="text" name="t1" id="t1" onChange="checkIt(this.name, this.value)">
    </body>
    </html>
    validateJS.cgi
    #!/opt/x11r6/bin/perl
    use CGI qw(:all);
    my @valArray = split(/=/,$ENV{QUERY_STRING});
    print "Content-type: text/javascript\n\n";
    # myPass is the password
    $myPass = "foobar";
    if ("$valArray[1]" eq "$myPass")
    print "alert(\"Success!!\")";
    else
    print "alert(\"Failure!!\")";

  • Failed to call Engine.StartLoginLogoutCallback to display user login dialog in C# code

    I'm upgrading our custom operator interface using C# running in NET 2.0. I use Microsoft Windows Forms controls for building GUI. TestStand version is 3.1. I grab TestStand Engine Class ActiveX Control from toolbox in to the form just as I did before in my VB project. In the project references list, AxTS and TS are added in. I can call TestStand API functions through the engine object, for example I can load sequence files, create property objects, get engine properties. But when I call engine's StartLoginLogoutCallback(false, true), the user login dialog is not displayed as expected. By tracing into UI message handler code, I do not see execution start and execution end UI message, which means the fontend callback sequence is not executed or is not executed properly. I doubt that calling engine's NewExecution in my code will also have problem though I haven't tested. Has anybody encountered same problem before? Thanks for any answer in advance.

    Hi Manooch,
    Thank you very much for the help. I tried Engine.CallFrontEndCallbackEx, but it still doesn't work for me. I'm using TestStand 3.1. I created a very simple C# Windows application with Visual Studio 2005. In the toolbox of the project I Selected "Choose Items..." context menu to display the "Choose Toolbox Items" dialog. In the "COM Components" tab of the dialog I selected "TestStand Engine Class" so that I got reference to the TestStand engine in my project. The project compiles OK, The method to login/logout is as following:
     private void StartLoginLogoutCallback(bool logoutOnly, bool isInitialLogin) {    PropertyObject args = _engine.NewPropertyObject (PropertyValueTypes.PropValType_Container, false, "", 0);     args.SetValBoolean ("logoutOnly", 1/*PropOption_InsertIfMissing*/, logoutOnly);    args.SetValBoolean ("isInitialLogin", 1, isInitialLogin);    _engine.CallFrontEndCallbackEx ("LoginLogout", args, TypeConflictHandlerTypes.ConflictHandler_Error, 0); }
    This method is called when the form is loaded:
     private void Form1_Load (object sender, EventArgs e) {    StartLoginLogoutCallback (false, true); }
    I also tried to call StartLoginLogoutCallback method in a button click event handler, but it doesn't work either. I also notice that when I press "Exit" button which causes form's Close() method to be called, the application form does not close and I have to kill the application with task manager or to stop debugging if it is running in debug mode.
    Could you please tell what's wrong? Thanks!
    - cfyao 

  • How to handle a return statement from a login webservice call

    Hi all,
    I am new to this iPhone apps. I am trying to wirte a webservice call in which I am comparing my username and password details in webservice and getting an boolean statement as a response. By using that response i should display valid or invalid statement on the screen.
    Now i am able to get the response from the webservice, but i am unable to handle that boolean variable present in the xml statement.
    Can any one please suggest me how to handle that boolean value from the xml statement?
    Thanks
    SRI.

    Since you are a registered developer you would be far better off posting this in the developers site, this forum is for users of apps.

  • Set user login before call WD application

    Hello!
    We calling WD application from SAP CRM B2B. Both applications requires authentification. Both applications works with users maintained thru SU01. But CRM can use user aliases and WD application can use ony logins which not so comfortable for users since logins has values too difficult to remember.
    So we want to setup WD application in this way:
    1) pass current user's login as special URL parameter
    2) during load logon screen WD application read this parameter and automatically put this value into "user login" field and disable it
    3) so user should only enter a password
    So does WD application have such special URL parameter and is it possible to setup that value of this parameter will automatically put to "user login" field when application will be called?
    Regards, Lev

    Hi,
    I am not very clear with the requirement you want if you want to get the user id of portal to be passed into the wdcomponent that can happen the via of it is a ?????.
    IN wd component by means of Handle default button of the Main window you can fetch the userid from the portal.In handle default method the portal userid can be captured by using by means of  fm .
    Regards,
    Sana.

  • Firewall Setting NoRouteToHostException while calling secured webservice

    Hi All,
    I tried calling a secured webservice from oracle database. While calling the webservice i am getting the NoRouteToHostException exception. The possible cause for this exception is
    "Signals that an error occurred while attempting to connect a socket to a remote address and port. Typically, the remote host cannot be reached because of an intervening firewall, or if an intermediate router is down. "
    I found the ipaddress is correct.
    I would like to know the cause "intervening firewall". Will any port has to be enable in oracle database to call secured webservice from the Database or where to check in the database for firewall setting
    Thanks,
    Ramesh.R

    Ramesh_R wrote:
    I tried calling a secured webservice from oracle database.
    HTTPS protocol in other words?
    While calling the webservice i am getting the NoRouteToHostException exception. The possible cause for this exception is "Signals that an error occurred while attempting to connect a socket to a remote address and port. Typically, the remote host cannot be reached because of an intervening firewall, or if an intermediate router is down. "Not an Oracle issue and not really relevant to this forum (or any other forum on OTN I think). This is a straightforward network issue dealing with routing tables it seems to me.
    The error simply means that the application (PL/SQL in Oracle server when using UTL_HTTP) references an IP address that does not exist locally (different subnet/netmask) and that the IP packets need to be routed (via an "+intermediary+") in order to reach that IP address.
    I would like to know the cause "intervening firewall". Will any port has to be enable in oracle database to call secured webservice from the Database or where to check in the database for firewall settingYou should look at the local routing table on the server. For example, your server is IP address +196.1.83.100+ and you need to reach IP address +165.147.45.30+.
    The server's IP stack needs to know where to send traffic for +165.147.45.30+ to? Which interface on the server to use (there can be multiple)? What is the address of the router that will route the traffic to this IP?
    Let's say we use the primary (first) interface and that the routing is done by +196.43.4.1+. The server's routing table on the should then look something as follows:
    oracle@myserver ~> route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    165.147.45.30   196.43.4.1      255.255.255.255 UGH   0      0        0 eth0
    .. remaining entries..The "+route add+" command is used to add such a route to the routing table.
    I suggest however that you discuss this first with the o/s or network administrator to ensure that the routing table is not only correctly updated, but that the server is configured to create this route automatically at boot time.

  • Error in Webservice Call HTTP error (return code 404, message conn failed)

    Hi
    We wish to call  a standard EP7 webservice through ABAP.
    When we try to create consumer proxy , we get the following error.
    HTTP error (return code 404, message "conn failed")
    Message no. SPRX090
    ==> Display Error Document
    If you want to generate a proxy for an external WSDL document by specifying a URL, check that the proxy settings of the system are correct (transaction SICF - Client - Proxy Settings). If you want to generate a proxy for an XI Repository object, check the connection to the Enterprise Services Builder as follows:
    Check List for Setting Up a Connection to the Service Repository
    1. The address of the Enterprise Services Repository must be known in the SAP system
    Check with report SPROX_CHECK_IFR_ADDRESS
    The address is taken from the following parameters in the exchange profile ('Connections' section):
    com.sap.aii.connect.repository.name: Server (for example,pwdf0436)
    com.sap.aii.connect.repository.httpport: Port (for example, 1080)
    com.sap.aii.connect.repository.contextroot: Root (for example,rep)
    The logon data is also read from the exchange profile ('ApplicationSystem' section):
    com.sap.aii.applicationsystem.serviceuser.name: User
    com.sap.aii.applicationsystem.serviceuser.pwd: Password
    As an alternative to using the exchange profile, you can maintain the RFC destination SAP_PROXY_ESR. If this RFC destination is maintained it will be used by the proxy generation in place of data from the exchange profile to access the Service Repository. In this case, the Exchange Profile will even not be read.
    The RFC destination has to be set up using transaction SM59 and should look like this:
    RFC Destination: SAP_PROXY_ESR
    Connection Type: G (HTTP Connection to External Serv)
    Description1: ESR for Proxy Generation
    Target Host: esr_host
    Service No: 1080
    Path Prefix: rep
    Logon and Security:
    Basic Authentication: active
    User: esr_user
    Password: esr_password
    2. The HTTP Framework of the Web Application Server must function
    Check with report SPROX_CHECK_HTTP_COMMUNICATION
    If necessary, contact your system administrator. Please be aware of the fact, that the HTTP framework is depending on the application server. Thus the result of the report may differ for different application servers.
    3. Proxy generation must interpret the data of the Enterprise Services Repository correctly
    Check with report SPROX_CHECK_IFR_RESPONSE
    you can also login in dev and go to Xn se91
    enter msg id SPRX and msg no 090
    select the message and click on long text..
    you get the same message in a formatted manner..
    How to get rid of this ?
    Regards
    Rajendra

    Hi
    we have given the correct path as we have tested the webserive from
    other technology (.net) by providing the same path.
    regards
    Rajendra

Maybe you are looking for

  • Preview App Seems Gimped in Snow Leopard

    I opened a PDF to crop some parts of the file and there are two big issues: 1. I cannot crop multiple pages anymore. There just isn't that option in Inspector or anywhere else. I can only crop one page at a time. 2. Not only can I not crop more than

  • Help in reports..

    hi chetan, thanx for the solution. in my application when i am displying the report, i want to display comon columns as top headings. let me be little more clear. say it is like pass sheet given by bank. in the report my top line shud display a/c no,

  • Adding complicated selections to Eclipse Link CriteriaBuilder ?

    Hi all, Can any body suggest how to add select case when to_char(trunc(TO_DATE ('03-APR-2015','DD-MM-YYYY'), 'mm'), 'FMDAY') = 'SUNDAY' then to_number(to_char(TO_DATE ('03-APR-2015','DD-MM-YYYY'), 'W'))+1              else ceil((to_char(TO_DATE ('03-

  • Is it possible to use iPhoene as a hard disk?

    I want to know if there is a way to transfer files to the iPhone, such .ppt and such and use part of the memory as a usb stick or hard disk to carry information? In that case, how can I make it appear in the finder of my computer? Thanks.

  • HP755CM plotter hangs up on second plot in cue

    On my 867 Mhz powermac G4-When plotting (from Vector works) to my HP755CM connected by an ethernet crossover cable the second plot always hangs up (forever) on "receiving" (or processing). First plot is always fine!. The odd thing is on my Powerbook