2-Way SSL Web Service AssertionError

I am using weblogic 9.1 and 2-way ssl-based web services. The issue is that when a stand-alone client accesses the web services, via the BEA recommended way, a host of errors occurs. Initially I had the webserviceclient+ssl.jar on the client classpath in addition to the weblogic.jar which were both in my development lib directory, and worked from there. Here is the progression of errors:
1. ClassDefNotFound exception: weblogic.xml.schema.binding.util.ClassUtil$ClassUtilException
Resolution = added webservice.jar to classpath
2. ClassDefNotFound exception: com.bea.xml.XmlException
Resolution = added xbean.jar to classpath
3. java.lang.AssertionError: java.io.IOException
This was a difficult one to figure out. I tried running the test client from both my IDE and command-line, and I narrowed it down to a really weird issue. The only way I was able to get it to work was to include the absolute reference to the weblogic.jar in the classpath of the client. i.e. BEA_HOME/weblogic91/server/lib/weblogic.jar. If I had a relative reference to weblogic.jar, i.e. ../lib/weblogic.jar, the above assertion error was thrown.
Can anyone shed some light on this? I need to have a stand-alone client run a 2-way ssl web service and this client should not be expected to have a full blown weblogic 9.1 install.
Cheers.

WLS 9 does not have a separate client jar. So sorry, in the near future we might have to stick to the requirement of using the weblogic.jar.
Just FYI, I have submitted a two-way ssl sample in dev2dev.
https://codesamples.projects.dev2dev.bea.com/servlets/Scarab?id=S3
thanks
Jong

Similar Messages

  • How to import *.pfx for 2 way SSL Web Service?

    Hello,
    We are trying to create web service consumer where 2 way SSL is needed.
    We have exp_pfx_cert.pfx certificate. As far as we know there is need to convert it to PSE and then import in STRUST. Next steps like RFC, service consumer should be as usually.
    PFX -> PSE
    We tried to use sapgenpse but there was error like in attached image.
    ROOT CA certificate is in another text file.
    How to import this pfx + ROOT CA into SAP STRUST ?

    In smicm i have:
    *** WARNING => Connection request from (30/4018/1) to host: xxx.xxx.xxx.xxx, service: 443 failed (NIECONN_REFUSED
    RM-T30, U4018, 800 XXXXXXX, T61, 20:56:44, M1, W3, SM59, 2/2 {00010018} [icxxconn_mt.c 2222]
    Maybe this is firewall issue...
    We will use many certificates for one destination webserwice to log in so I think we will have to create the same amount of client identities and SM59 connections as certificates.
    Do we have to create client identity in special way (like there: http://scn.sap.com/people/jens.gleichmann/blog/2008/10/31/calling-webservices-from-abap-via-httpsssl-with-pfx-certificates  using PSE) or just "Create" and leave default values?

  • ORA-29532 error when invoking SSL web services using UTL_DBWS

    Web Service gurus,
    The WSDL for web services is as follows -
    <definitions name="Webservice" targetNamespace="http://webservice.airclic.com/">

    <types>

    <xs:schema targetNamespace="http://webservice.airclic.com/" version="1.0">
    <xs:element name="Exception" type="tns:Exception"/>
    <xs:element name="listenForEvents" type="tns:listenForEvents"/>
    <xs:element name="listenForEventsResponse" type="tns:listenForEventsResponse"/>
    <xs:element name="sendAuthenticationResponse" type="tns:sendAuthenticationResponse"/>
    <xs:element name="sendAuthenticationResponseResponse" type="tns:sendAuthenticationResponseResponse"/>
    <xs:element name="upsertTask" type="tns:upsertTask"/>
    <xs:element name="upsertTaskResponse" type="tns:upsertTaskResponse"/>

    <xs:complexType name="upsertTask">

    <xs:sequence>
    <xs:element minOccurs="0" name="task" type="tns:Task"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Task">

    <xs:complexContent>

    <xs:extension base="tns:PlatformObject">

    <xs:sequence>
    <xs:element minOccurs="0" name="status" type="tns:status"/>
    <xs:element minOccurs="0" name="assignee" type="xs:string"/>
    <xs:element minOccurs="0" name="assigneeUserId" type="xs:string"/>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
    <xs:element minOccurs="0" name="type" type="xs:string"/>
    <xs:element minOccurs="0" name="creationTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="updateTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="startTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="endTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="source" type="tns:source"/>
    <xs:element minOccurs="0" name="notes" type="xs:string"/>
    <xs:element minOccurs="0" name="priority" type="xs:int"/>
    <xs:element minOccurs="0" name="penalized" type="xs:boolean"/>
    <xs:element minOccurs="0" name="hasSLA" type="xs:boolean"/>
    <xs:element minOccurs="0" name="location" type="tns:Location"/>
    <xs:element minOccurs="0" name="windowStartTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="windowEndTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="signee" type="xs:string"/>
    <xs:element minOccurs="0" name="signature" type="xs:base64Binary"/>
    <xs:element minOccurs="0" name="customerId" type="xs:string"/>
    <xs:element minOccurs="0" name="travelTime" type="xs:int"/>
    <xs:element minOccurs="0" name="expirationTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="parentId" type="xs:long"/>
    <xs:element minOccurs="0" name="externalTimezone" type="xs:string"/>
    <xs:element minOccurs="0" name="localTimeOffset" type="xs:long"/>
    <xs:element minOccurs="0" name="consignee" type="xs:string"/>
    <xs:element minOccurs="0" name="assignmentWindowStartTimestamp" type="xs:long"/>
    <xs:element minOccurs="0" name="assignmentWindowEndTimestamp" type="xs:long"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="PlatformObject">

    <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    <xs:element name="externalId" type="xs:string"/>
    <xs:element name="revision" type="xs:long"/>
    <xs:element name="platformDateCreated" type="xs:dateTime"/>
    <xs:element name="platformDateUpdated" type="xs:dateTime"/>
    <xs:element name="objectName" type="xs:string"/>
    <xs:element maxOccurs="unbounded" name="extendedAttributes" type="tns:ExtendedAttribute"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Location">

    <xs:sequence>
    <xs:element minOccurs="0" name="name" type="xs:string"/>
    <xs:element minOccurs="0" name="description" type="xs:string"/>
    <xs:element minOccurs="0" name="type" type="xs:string"/>
    <xs:element minOccurs="0" name="address" type="tns:Address"/>
    <xs:element minOccurs="0" name="position" type="tns:Position"/>
    <xs:element minOccurs="0" name="geofenceId" type="xs:long"/>
    <xs:element minOccurs="0" name="capcity" type="xs:int"/>
    <xs:element minOccurs="0" name="contact" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Address">

    <xs:sequence>
    <xs:element minOccurs="0" name="addressLine" type="xs:string"/>
    <xs:element minOccurs="0" name="addressLine2" type="xs:string"/>
    <xs:element minOccurs="0" name="city" type="xs:string"/>
    <xs:element minOccurs="0" name="secondaryCity" type="xs:string"/>
    <xs:element minOccurs="0" name="subdivision" type="xs:string"/>
    <xs:element minOccurs="0" name="postalCode" type="xs:string"/>
    <xs:element minOccurs="0" name="country" type="xs:string"/>
    <xs:element minOccurs="0" name="phone" type="xs:string"/>
    <xs:element minOccurs="0" name="freeform" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Position">

    <xs:sequence>
    <xs:element name="latitude" type="xs:double"/>
    <xs:element name="longitude" type="xs:double"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ExtendedAttribute">

    <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="value" type="xs:anyType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="upsertTaskResponse">

    <xs:sequence>
    <xs:element minOccurs="0" name="task" type="tns:Task"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Exception">

    <xs:sequence>
    <xs:element minOccurs="0" name="message" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="listenForEvents">

    <xs:sequence>
    <xs:element minOccurs="0" name="listenParams" type="tns:ListenParams"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ListenParams">

    <xs:sequence>
    <xs:element name="queueName" type="xs:string"/>
    <xs:element name="resendLast" type="xs:boolean"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="listenForEventsResponse">

    <xs:sequence>
    <xs:element maxOccurs="unbounded" minOccurs="0" name="events" type="tns:Event"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Event">

    <xs:sequence>
    <xs:element name="id" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationRequestEvent">

    <xs:complexContent>

    <xs:extension base="tns:RequestEvent">

    <xs:sequence>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RequestEvent">

    <xs:complexContent>

    <xs:extension base="tns:Event">

    <xs:sequence>
    <xs:element name="correlationId" type="xs:string"/>
    <xs:element name="response" type="tns:Response"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Response">

    <xs:sequence>
    <xs:element name="correlationId" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AuthenticationResponse">

    <xs:complexContent>

    <xs:extension base="tns:Response">

    <xs:sequence>
    <xs:element name="success" type="xs:boolean"/>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    <xs:element minOccurs="0" name="firstName" type="xs:string"/>
    <xs:element minOccurs="0" name="lastName" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    <xs:element minOccurs="0" name="active" type="xs:boolean"/>
    <xs:element minOccurs="0" name="timeZone" type="xs:string"/>
    <xs:element minOccurs="0" name="group" type="xs:string"/>
    <xs:element minOccurs="0" name="role" type="xs:string"/>
    <xs:element minOccurs="0" name="errorCode" type="xs:string"/>
    <xs:element minOccurs="0" name="errorMessage" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="DispatchEvent">

    <xs:complexContent>

    <xs:extension base="tns:Event">

    <xs:sequence>
    <xs:element name="type" type="tns:eventType"/>
    <xs:element minOccurs="0" name="previousTask" type="tns:Task"/>
    <xs:element name="changeTask" type="tns:Task"/>
    <xs:element minOccurs="0" name="newTask" type="tns:Task"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="sendAuthenticationResponse">

    <xs:sequence>
    <xs:element minOccurs="0" name="authenticationResponse" type="tns:AuthenticationResponse"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="sendAuthenticationResponseResponse">
    <xs:sequence/>
    </xs:complexType>

    <xs:simpleType name="status">

    <xs:restriction base="xs:string">
    <xs:enumeration value="NULL"/>
    <xs:enumeration value="UNASSIGNED"/>
    <xs:enumeration value="ASSIGNED"/>
    <xs:enumeration value="RECEIVED"/>
    <xs:enumeration value="ACCEPTED"/>
    <xs:enumeration value="REJECTED"/>
    <xs:enumeration value="IN_PROGRESS"/>
    <xs:enumeration value="POSTPONED"/>
    <xs:enumeration value="COMPLETED"/>
    <xs:enumeration value="CANCELED"/>
    <xs:enumeration value="CLEARED"/>
    <xs:enumeration value="EXPIRED"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="source">

    <xs:restriction base="xs:string">
    <xs:enumeration value="NULL"/>
    <xs:enumeration value="DISPATCH"/>
    <xs:enumeration value="SYSTEM"/>
    <xs:enumeration value="ENDUSER"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="eventType">

    <xs:restriction base="xs:string">
    <xs:enumeration value="TaskCreated"/>
    <xs:enumeration value="TaskUpdated"/>
    <xs:enumeration value="TaskAssigned"/>
    <xs:enumeration value="TaskDeleted"/>
    <xs:enumeration value="TaskStatusChanged"/>
    <xs:enumeration value="TaskConflicted"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>
    </types>

    <message name="Webservice_listenForEvents">
    <part element="tns:listenForEvents" name="listenForEvents"/>
    </message>

    <message name="Webservice_sendAuthenticationResponseResponse">
    <part element="tns:sendAuthenticationResponseResponse" name="sendAuthenticationResponseResponse"/>
    </message>

    <message name="Webservice_sendAuthenticationResponse">
    <part element="tns:sendAuthenticationResponse" name="sendAuthenticationResponse"/>
    </message>

    <message name="Webservice_upsertTaskResponse">
    <part element="tns:upsertTaskResponse" name="upsertTaskResponse"/>
    </message>

    <message name="Exception">
    <part element="tns:Exception" name="Exception"/>
    </message>

    <message name="Webservice_upsertTask">
    <part element="tns:upsertTask" name="upsertTask"/>
    </message>

    <message name="Webservice_listenForEventsResponse">
    <part element="tns:listenForEventsResponse" name="listenForEventsResponse"/>
    </message>

    <portType name="Webservice">

    <operation name="listenForEvents" parameterOrder="listenForEvents">
    <input message="tns:Webservice_listenForEvents"/>
    <output message="tns:Webservice_listenForEventsResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>

    <operation name="sendAuthenticationResponse" parameterOrder="sendAuthenticationResponse">
    <input message="tns:Webservice_sendAuthenticationResponse"/>
    <output message="tns:Webservice_sendAuthenticationResponseResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>

    <operation name="upsertTask" parameterOrder="upsertTask">
    <input message="tns:Webservice_upsertTask"/>
    <output message="tns:Webservice_upsertTaskResponse"/>
    <fault message="tns:Exception" name="Exception"/>
    </operation>
    </portType>

    <binding name="WebserviceBinding" type="tns:Webservice">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="listenForEvents">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>

    <operation name="sendAuthenticationResponse">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>

    <operation name="upsertTask">
    <soap:operation soapAction=""/>

    <input>
    <soap:body use="literal"/>
    </input>

    <output>
    <soap:body use="literal"/>
    </output>

    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>
    </binding>

    <service name="Webservice">

    <port binding="tns:WebserviceBinding" name="WebservicePort">
    <soap:address location="https://webservice.mp.b.airclic.com:443/webservice/product/fieldservice/v1/Webservice"/>
    </port>
    </service>
    </definitions>
    Following is the pl/sql code using UTL_DBWS
    DECLARE
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.call;
    l_wsdl_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_service_qname UTL_DBWS.qname;
    l_port_qname UTL_DBWS.qname;
    l_operation_qname UTL_DBWS.qname;
    l_input_params UTL_DBWS.anydata_list;
    soap_request xmltype;
    l_result xmltype;
    result_output VARCHAR2(32767);
    BEGIN
    l_wsdl_url := 'https://webservice.mp.b.airclic.com/webservice/product/fieldservice/v1/Webservice?WSDL';
    l_namespace := 'http://webservice.airclic.com/';
    dbms_output.put_line ('1');
    l_service_qname := UTL_DBWS.to_qname(l_namespace, 'Webservice');
    dbms_output.put_line ('2');
    l_port_qname := UTL_DBWS.to_qname(l_namespace, 'WebservicePort');
    dbms_output.put_line ('3');
    l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'sendAuthenticationResponse');
    dbms_output.put_line ('4');
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_qname);
    dbms_output.put_line ('5');
    l_call := UTL_DBWS.create_call (
    service_handle => l_service,
    port_name => l_port_qname,
    operation_name => l_operation_qname);
    dbms_output.put_line ('6');
    UTL_DBWS.SET_PROPERTY(l_call,'USERNAME',<username to access wsdl>);
    dbms_output.put_line ('7');
    UTL_DBWS.SET_PROPERTY(l_call,'PASSWORD',<password>);
    dbms_output.put_line ('8');
    utl_dbws.set_property(l_call,'OPERATION_STYLE', 'document');
    dbms_output.put_line ('9');
    soap_request := xmltype.createxml('<?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <ns2:sendAuthenticationResponse xmlns:ns2="http://webservice.airclic.com/">
    <authenticationResponse>
    <correlationId>4646735802698040711:[email protected]</correlationId>
    <success>true</success>
    <username>changlanih</username>
    <password>abcd1234</password>
    <firstName>hero</firstName>
    <lastName>changlani</lastName>
    <email>[email protected]</email>
    <active>true</active>
    <timeZone>eastern</timeZone>
    <group>Northeast</group>
    <role>Service Manager</role>
    </authenticationResponse>
    </ns2:sendAuthenticationResponse>
    </S:Body>
    </S:Envelope>');
    l_result := UTL_DBWS.invoke ( l_call,soap_request);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    result_output := l_result.getstringval;
    dbms_output.put_line('web svc output ===> ' || result_output);
    END;
    Following is the error from pl/sql code
    1
    2
    3
    4
    DECLARE
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalAccessException: error.build.wsdl.model: oracle.j2ee.ws.common.tools.api.WsdlValidationException:
    Failed to read WSDL from https://webservice.mp.b.airclic.com/webservice/product/fieldservice/v1/Webservice?WSDL:
    HTTP connection error code is 401
    ORA-06512: at "SYS.UTL_DBWS", line 193
    ORA-06512: at "SYS.UTL_DBWS", line 190
    ORA-06512: at line 20
    Notes
    The program fails at following line of code -
    l_service := UTL_DBWS.create_service (
    wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
    service_name => l_service_qname);
    Web services are SSL.
    The WSDL is at https location and needs username/password for access. The username/password to access WSDL are set using UTL_DBWS.SET_PROPERTY
    To access the SSL site, I have imported the CA in Oracle Wallet, JVM home and JDK home.
    Can anyone tell me what am I doing wrong here. I am not able to even establish connection to web service host.
    This is very frustrating - Oracle has no examples on how to access a SSL Web Service (that needs authentication) from Database.
    This is effecting our project deadlines ......... any help would be greatly appreciated.
    Thanks.

    Hi,
    I presume your Web Service needs HTTP (BASIC?) Authentication.
    All this needs is setting the following 2 properties, which as can be seen, you are setting....
    UTL_DBWS.set_property(l_call, 'USERNAME', '<username>');
    UTL_DBWS.set_property(l_call, 'PASSWORD', '<pwd>');
    This should work as long as your DBWS Callout Utility was downloaded from OTN after June 2008, and it's version is atleast 10.1.3.1.
    Following is a sample code snippet that was tested successfully for this :
    Declare
    l_service UTL_DBWS.service;
    l_call UTL_DBWS.call;
    l_result sys.XMLTYPE;
    l_request sys.XMLTYPE;
    BEGIN
    l_service := UTL_DBWS.create_service(null);
    l_call := UTL_DBWS.create_call(l_service);
    UTL_DBWS.set_target_endpoint_address(l_call, 'http://xxx.oracle.com:8888/basic/MyWebService1SoapHttpPort');
    UTL_DBWS.set_property(l_call, 'USERNAME', 'username');
    UTL_DBWS.set_property(l_call, 'PASSWORD', 'pwd');
    UTL_DBWS.set_property(l_call, 'OPERATION_STYLE', 'document');
    UTL_DBWS.set_property(l_call, 'SOAPACTION_USE', 'true');
    UTL_DBWS.set_property(l_call, 'SOAPACTION_URI', 'http://xxx.oracle.com:8888/basic/MyWebService1SoapHttpPort');
    l_request := XMLTYPE('<Z_CENTRICITY_GET_DOCLIST
    xmlns:urn="urn:sap-com:document:sap:rfc:functions">' ||
    '<I_INCLUDE_OLD_VERSIONS></I_INCLUDE_OLD_VERSIONS>' ||
    '<I_INSTITUTION>0001</I_INSTITUTION>' ||
    '<I_PATIENT_NR>0000000181</I_PATIENT_NR>' ||
    '</Z_CENTRICITY_GET_DOCLIST>');
    l_result := UTL_DBWS.invoke(l_call, l_request);
    UTL_DBWS.release_call (call_handle => l_call);
    UTL_DBWS.release_service (service_handle => l_service);
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line(sqlcode || ' ' || sqlerrm);
    END;
    Hope this helps,
    Yogesh

  • Error invoking SSL web service using pl sql UTL_HTTP

    Web Services Gurus,
    I am invoking a secure web service based on the following WSDL file from a pl/sql program using UTL_HTTP package.
    The web service is secure and prompts for authentication.
    The web services certificate is imported in Oracle Wallet on Database Server.
    I am listing the WSDL file, the pl/sql code and error message as follows -
    1. The WSDL file -
    <definitions
    name="Webservice"
    targetNamespace="http://webservice.airclic.com/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://webservice.airclic.com/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
    <xs:schema targetNamespace="http://webservice.airclic.com/" version="1.0" xmlns:tns="http://webservice.airclic.com/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Exception" type="tns:Exception"/>
    <xs:element name="sendAuthenticationResponse" type="tns:sendAuthenticationResponse"/>
    <xs:element name="sendAuthenticationResponseResponse" type="tns:sendAuthenticationResponseResponse"/>
    <xs:complexType name="AuthenticationResponse">
    <xs:complexContent>
    <xs:extension base="tns:Response">
    <xs:sequence>
    <xs:element name="success" type="xs:boolean"/>
    <xs:element name="username" type="xs:string"/>
    <xs:element minOccurs="0" name="password" type="xs:string"/>
    <xs:element minOccurs="0" name="firstName" type="xs:string"/>
    <xs:element minOccurs="0" name="lastName" type="xs:string"/>
    <xs:element minOccurs="0" name="email" type="xs:string"/>
    <xs:element minOccurs="0" name="active" type="xs:boolean"/>
    <xs:element minOccurs="0" name="timeZone" type="xs:string"/>
    <xs:element minOccurs="0" name="group" type="xs:string"/>
    <xs:element minOccurs="0" name="role" type="xs:string"/>
    <xs:element minOccurs="0" name="errorCode" type="xs:string"/>
    <xs:element minOccurs="0" name="errorMessage" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DispatchEvent"></xs:complexType>
    <xs:complexType name="sendAuthenticationResponse">
    <xs:sequence>
    <xs:element minOccurs="0" name="authenticationResponse" type="tns:AuthenticationResponse"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="sendAuthenticationResponseResponse">
    <xs:sequence/>
    </xs:complexType>
    <xs:simpleType name="status"></xs:simpleType>
    <xs:simpleType name="source"></xs:simpleType>
    <xs:simpleType name="eventType"></xs:simpleType>
    </xs:schema>
    </types>
    <message name="Webservice_sendAuthenticationResponse">
    <part name="sendAuthenticationResponse" element="tns:sendAuthenticationResponse"/>
    </message>
    <message name="Webservice_sendAuthenticationResponseResponse">
    <part name="sendAuthenticationResponseResponse" element="tns:sendAuthenticationResponseResponse"/>
    </message>
    <portType name="Webservice">
    <operation name="sendAuthenticationResponse" parameterOrder="sendAuthenticationResponse">
    <input message="tns:Webservice_sendAuthenticationResponse"/>
    <output message="tns:Webservice_sendAuthenticationResponseResponse"/>
    <fault name="Exception" message="tns:Exception"/>
    </operation>
    </portType>
    <binding name="WebserviceBinding" type="tns:Webservice">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="sendAuthenticationResponse">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    <fault name="Exception">
    <soap:fault name="Exception" use="literal"/>
    </fault>
    </operation>
    </binding>
    <service name="Webservice">
    <port name="WebservicePort" binding="tns:WebserviceBinding">
    <soap:address location="https://host.airclic.com:443/webservice/product/fieldservice/v1/Webservice"/>
    </port>
    </service>
    </definitions>
    2. The pl/sql code that calls the web service operation sendAuthenticationResponse
    procedure send_auth_response
    as
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    resp XMLType;
    i integer;
    begin
    -- initiate wallet for AirClic certificate
    dbms_output.put_line ('1');
    utl_http.set_wallet('file:/etc/oracle/wallet','<wallet password>');
    -- create soap request
    dbms_output.put_line ('2');
    soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:sendAuthenticationResponse xmlns="https://host.airclic.com:443/webservice/product/fieldservice/v1/Webservice" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <success xsi:type="xsd:boolean">true</success>
    <username xsi:type="xsd:string">changlanih</username>
    <password xsi:type="xsd:string">abcd1234</password>
    <firstName xsi:type="xsd:string">hero</firstName>
    <lastName xsi:type="xsd:string">changlani</lastName>
    <email xsi:type="xsd:string">[email protected]</email>
    <active xsi:type="xsd:boolean">true</active>
    <timeZone xsi:type="xsd:string">eastern</timeZone>
    <group xsi:type="xsd:string">Northeast</group>
    <role xsi:type="xsd:string">Service Manager</role>
    <errorCode xsi:type="xsd:string"></errorCode>
    <errorMessage xsi:type="xsd:string"></errorMessage>
    </ns1:sendAuthenticationResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>';
    -- request that exceptions are raised for error Status Codes
    dbms_output.put_line ('3');
    utl_http.set_response_error_check (true);
    -- allow testing for exceptions like UTL_HTTP.http_server_error
    dbms_output.put_line ('4');
    utl_http.set_detailed_excp_support (true);
    --utl_http.set_transfer_timeout (ln_time_out);
    dbms_output.put_line ('5');
    utl_http.set_body_charset ('UTF-8');
    -- begin request
    dbms_output.put_line ('5.5');
    http_req:= utl_http.begin_request
    ('https://host.airclic.com:443/webservice/product/fieldservice/v1/Webservice/sendAuthenticationResponse', ------ is the url correct here ?
    'POST',
    'HTTP/1.1'
    dbms_output.put_line ('6');
    utl_http.set_authentication(http_req, '<username for webservice>', '<password for webservice user>');
    dbms_output.put_line ('7');
    utl_http.set_persistent_conn_support (http_req, false);
    dbms_output.put_line ('8');
    utl_http.set_header(http_req, 'Content-Type', 'text/xml'); -- since we are dealing with plain text in XML documents
    dbms_output.put_line ('9');
    utl_http.set_header(http_req, 'Content-Length', length(soap_request));
    dbms_output.put_line ('10');
    utl_http.set_header(http_req, 'SOAPAction', ''); -- required to specify this is a SOAP communication
    dbms_output.put_line ('11');
    utl_http.write_text(http_req, soap_request);
    dbms_output.put_line ('12');
    http_resp := utl_http.get_response(http_req);
    -- debug messages
    DBMS_OUTPUT.PUT_LINE('-------utl_http.get_response---------------------');
    DBMS_OUTPUT.PUT_LINE('http_resp.status_code is :'||http_resp.status_code );
    DBMS_OUTPUT.PUT_LINE('http_resp.reason_phrase is :'||http_resp.reason_phrase);
    DBMS_OUTPUT.PUT_LINE('http_resp.http_version is :'||http_resp.http_version);
    DBMS_OUTPUT.PUT_LINE('http_resp.private_hndl is :'||http_resp.private_hndl);
    DBMS_OUTPUT.PUT_LINE('-------utl_http.get_response----------------------');
    utl_http.read_text(http_resp, soap_respond);
    dbms_output.put_line ('13');
    utl_http.end_response(http_resp);
    dbms_output.put_line ('14');
    resp := XMLType.createXML(soap_respond);
    dbms_output.put_line ('15');
    resp := resp.extract('/soap:Envelop/soap:Body/child::node()',
    'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"');
    i:=0;
    dbms_output.put_line ('16');
    loop
    dbms_output.put_line(substr(soap_respond, 1 + i * 255, 250));
    i := i + 1;
    if (i * 250) > length(soap_respond) then
    exit;
    end if;
    end loop;
    exception
    when utl_http.request_failed then
    dbms_output.put_line('request failed: ' || utl_http.get_detailed_sqlerrm);
    when utl_http.http_server_error then
    dbms_output.put_line('server error: ' || utl_http.get_detailed_sqlerrm);
    when utl_http.http_client_error then
    dbms_output.put_line('client error: ' || utl_http.get_detailed_sqlerrm);
    when others then
    dbms_output.put_line(sqlerrm);
    end send_auth_response;
    3. Output when I run the send_auth_response procedure
    Connecting to the database cpdev.
    1
    2
    3
    4
    5
    5.5
    ORA-12560: TNS:protocol adapter error
    Process exited.
    Disconnecting from the database cpdev.
    Comments -
    The web service operation only has input message. The input message consists of a complex type as seen in WSDL.
    Questions -
    1. This is my first attempt in invoking a web service from pl/sql program. Is the code in SOAP body correct as mapped to the complex type in WSDL ?
    2. As seen from the dbms_out - the last message before ORA-12560 is 5.5, that means the call is erroring at following code line -
    http_req:= utl_http.begin_request ------ what am I doing wrong here ?
    3. The web service is SSL as seen from WSDLand needs a username/password for access - which is being performed by following code line -
    utl_http.set_authentication(http_req, '<username for webservice>', '<password for webservice user>'); ------- is that correct ?
    4. I am not using any proxy server - should I be using it ? When is it necessary to use proxy ?
    Appreciate any help.
    Thanx.

    Oracle is hosted by HOST A - this is where the pl/sql program resides.
    The Web Service being accessed by pl/sql program is hosted by HOST B and there are 4 firewalls in between.
    Oracle was not even able to establish connection to web services host.
    Escalated the issue with networking folks and they resolved the connectivity problem.
    Hope that helps.

  • Have Error invoking SSL web service using pl sql procedure

    Hi All,
    Please any one can tell where i am going wrong,in calling ssl soa web service from plsql procedure.
    Below steps i followed ssl configure in soa server
    1- For configuring ssl in soa 11g, i am going to weblogic console->environment-> servers-> soa_server1-> check ssl box of port 8002.
    2- restart the server.
    3- One process i devloped, deployed in em console, while trying to acces the service with 8002 port, i need to use https://servicepath.
    Is there is any problem in the above approch for configuring ssl in soa server.
    Now coming to the procedure part, in below i given the deatails
    DECLARE
    HTTP_REQ UTL_HTTP.REQ;
    HTTP_RESP UTL_HTTP.RESP;
    URL_TEXT VARCHAR2(32767);
    lv_process_xml_body varchar2(4000);
    BEGIN
    DBMS_OUTPUT.ENABLE(1000000);
    lv_process_xml_body:='<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body xmlns:ns1="http://xmlns.oracle.com/SOA_RND_jws/Sample/DemoBPELProcess">
              <ns1:process>
                   <ns1:input></ns1:input>
    </ns1:process>
    </soap:Body>
    </soap:Envelope>';
    UTL_HTTP.SET_WALLET('file:/db/oracle/app/oradb/product/11.2.0/dbhome_1/bin/client', 'abcd123');
    HTTP_REQ := UTL_HTTP.BEGIN_REQUEST('https://172.28.40.20:8002/soa-infra/services/Client/Sample/demobpelprocess_client_ep', 'POST' , 'HTTP/1.0');
    UTL_HTTP.set_header(http_req, 'Content-Type', 'text/xml');
    UTL_HTTP.set_header(http_req, 'Content-Length', LENGTH(lv_process_xml_body));
    UTL_HTTP.SET_HEADER(HTTP_REQ, 'SOAPAction', 'process');
    UTL_HTTP.write_text(http_req, lv_process_xml_body);
    HTTP_RESP := UTL_HTTP.GET_RESPONSE(HTTP_REQ);
    UTL_HTTP.END_RESPONSE(HTTP_RESP);
    dbms_output.put_line('success');
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    END;
    But i am getting the error, unable to open the file
    Regarding certificate i have taken from the browser while running the above soa service in browser with 8002 port.
    Please let me know where i am doing wrong...
    Please if some one knows about steps ...... to do it to work
    Its urgent please help me out on this
    Thanks
    Dillip
    Edited by: 903915 on Dec 21, 2011 9:51 PM
    Edited by: 903915 on Dec 21, 2011 10:11 PM

    Oracle is hosted by HOST A - this is where the pl/sql program resides.
    The Web Service being accessed by pl/sql program is hosted by HOST B and there are 4 firewalls in between.
    Oracle was not even able to establish connection to web services host.
    Escalated the issue with networking folks and they resolved the connectivity problem.
    Hope that helps.

  • SSL web service task SOAP header Action was not understood..

    Hi all,
    While I create  web service task to consum a wcf service using SSL and execute the task it give the following error: But the same WCF service is deployed in nonSSL (basicHTTPBinding) , it works well and the results are received. Could any one suggest
    what is missing?
    Error: 0xC002F304 at Web Service Task, Web Service Task: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: The Web Service threw an error during method execution. The error is: SOAP
    header Action was not understood..
     at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebMethodInvokerProxy.InvokeMethod(DTSWebMethodInfo methodInfo, String serviceName, Object connection)
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil.Invoke(DTSWebMethodInfo methodInfo, String serviceName, Object connection, VariableDispenser taskVariableDispenser)
       at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".
    Task failed: Web Service Task
    SSIS package "Package.dtsx" finished: Success.
    Regards
    Venkatesh G

    Can you provide more information? Are you using BasicHttpBinding with transport security? If you access the service from a console client instead of SQL Server Web Service Task, does it work?
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
    If you have feedback about forum business, please contact
    [email protected] But please do not ask technical questions in the email.

  • Ssl web service call problem

    Hi,
    I have a form that calls a web service on start up in the docReady event.
    This has been working well in one of our development environments where the the web service is on a plain non secure connection.
    However, when we try and make the same web service call using ssl instead, the returned values are not populated in the form. If I run the call twice in a row, it works as usual but this is not an acceptable solution.
    The other web services calls on the form all work as expected. It is just this one being called during the docReady event.
    Has anybody else encountered this problem?
    Thanks,
    Luke

    Hi Luke,
    I had a similar problem and the reason was that the SSL certificate on the server was not valid (without any errors or warnings).
    You might want to first try to access the service from a browser and make sure you don't get any security warnings, if you get any security warnings, Adobe won't be able to call that service.
    Hope this helps.
    Thanks,
    Vikram

  • Consuming ssl web services

    After a few days Googling I still cannot find any satisfactory documentation regarding consuming a web service over ssl (mutual authentication i.e. using both client & server cert). I use jax-rpc and the jwsdp and the client is created using a static stub.
    I've also read David Chappel's Java Web Services and he only mentions a fleeting reference to transport layer security, instead concentrating on the newer message-based security measures such as XML Digital Signatures.
    However, I am only interested in ssl based security for my current project's web service interface. Surely I am not the first person to attempt this!?
    Any pointers on how-to's or sample code would be appreciated

    I have checked those links out already, basically I need much more in depth info on what does what during the ssl handshake initiated by the client.
    When I try to run my client I get the following:-
    [java] default context init failed: java.security.PrivilegedActionException: java.io.FileNotFoundException:
    c:\windows\.keystore (The system cannot find the file specified)Even though in my ant script I set the following:
    sysproperty key="javax.net.ssl.keyStore" value="${key.store}" />
                  <sysproperty key="javax.net.ssl.keyStorePassword" value="${key.store.password}"/>Anyone have a clue where its getting the "c:\windows\.keystore" from?

  • Web Service (SSL) and certificates (keytool) with INternet Explorer

    Hi,
    Followed this steps http://www.grallandco.com/blog/archives/2006/10/using_htts_with.html to have a secure SSL WEb service (with client authorization).
    Tested from Jdeveloper it worked O.K.
    Now I would like to test it with Internet explorer, but now server ask for certificate before internet show parameters page to invoke Web Service.
    I generated self signed certificates and keystore using keytool. (This keystore is used by the OC4J and my proxy client).
    Imported this certificate (.cer) to internet explorer succesfully, but when access URL for the web service (https) internet does not show this certificate to use it, so failed to connect...
    keytool certificates could be used by INternet explorer for this purposes?, what am I doing wrong?
    Thanks
    J.

    Hi,
    I already configured HTTPS - client authenticate for OC4J, and you can work with follow step:
    1: Create keystore for OC4J by java keytool
    2: Using openssl to create certificate for your server (privatekey, certificate)
    3. Using keytool to import your server's certificate (2) to keystore (1)
    4. Generate client certificate (4)
    5. Sign on client certificate (4) by privatekey and server certificate (20
    6. Import client certificate to windows - (should create keystore with format pkcs12)
    You can using "Java Certificate Services" to help you create keystore with multi format or sign cert....
    Rgs

  • Web Service With Dynamic URL (Very Basic Conceptual Question)

    Hi everyone,
    I would like to employ JAX-WS to generate and publish a web service along with a web-based client which uses the service. The problem is: I want to deliver both the server (with its service) and the client to a customer, who will install the server on an internal machine, and who will have to configure the client to look for the web service at the IP of that internal machine, ideally by just putting the IP into some configuration setting. Both the services' path (on the server) as well as the services remain constant.
    From everything I have found so far, it appears as if one fixes the service's IP during compilation, i.e., when generating the WSDL and stubs using wsgen/wsimport. I guess that's fine when the server remains with me & a fixed IP, but doesn't this approach break down as soon as you need some flexibility in the server's IP, as, e.g., in my above scenario? I guess I am missing something, but unfortunately all the documentation I have found so far either neglects this issue or comes up with rather complex solutions indeed. - Or would one not use SOAP+WSDL in the above scenario in the first place? Any other best practices?
    I'd very grateful for any hints,
    Cheers
    equitone
    Message was edited by:
    Equitone

    Hi,
    thanks for your reply. Of course, I agree I could alter the generated code, but, as you say, I would not want to do that, since it will make automatic builds and deployment rather complicated.
    I guess my expectations on the "flexibility"/"design" of some of the generated artifacts is just a bit skewed, and I'll have to find a compromise between my expectations and the Java 6 way of web services. For instance, I also find it somewhat annoying that wsgen will apparently only generate the service against an implementing class, not an interface. E.g., when I have the following web service interface MyService and an implementing class MyDummyService:
    @WebService
    public interface MyService
        @WebMethod
        public String getString();
    @WebService(endpointInterface = "com....MyService")
    public class MyDummyService implements MyService {
       public String getString() {
          return "Just a dummy.";
    }Then the service in the WSDL specifies its Port as "MyDummyServicePort", so if I ever change the implementation---without actually changing the (web service) interface, I will also have to regenerate all client stubs. I would have hoped that wsgen's "service" option would help in this regard, but apparently it doesn't. Unfortunately, the documentation on the whole issue is in a pitiful state, IMHO.
    Cheers
    Equitone

  • Calling a WebLogic web service from a WebLogic web application

    We would like to call a WebLogic web service from WebLogic web application. The current architecture looks like:
    LoadBalancer--->iPlanet-1/iPlanet-2--->Firewall--->WebLogic-AppServer-1/WebLogic-AppServer-2
    The web application and web service are in the same WebLogic cluster. We would prefer that the web services do not get published externally.
    Does the WebLogic web application need to make a call back outside the firewall to the load balancer?
    Is there a way the web services can be called locally with load balancing?
    Can web service calls be made over the t3 protocol?
    Thanks,
    Mike

    I think one solution is to use a Java proxy to call the Web services.
    In the Java proxy you can have a method that accepts the user/pass and sets them correctly for the Web service.
    Then you expose that Java proxy as a data control (right click, create data control) - and then create a page that invokes that method.
    (For the basics of working with a POJO data control see: http://blogs.oracle.com/shay/2009/07/java_class_data_control_and_ad.html )

  • Example BPEL Process calling/invoking a web service.

    Hi,
    1.Could someone please help me with this...Need some guidance regards calling a web service from a simple bpel process.
    Is there any example or tutorial which would help us to design a simple bpel process which takes in some input values
    from the user and then invokes web service ( java source exposed as web service) to do some operation and then get the control back in the bpel process..
    In case there are some examples or tutorials which could help us with this.
    2. Also is it true that the web services could only be deployed through the Application Server Control (in frontend Console Oracle Enterprise Manager) using the .EAR file using te Navigation :
    OC4J --> Home -> Applications --> Deploy and then creating a new deployment Plan..
    Is there any other way the web services could be deployed to the Oracle Application Server..or it has to be done through the Enterprise Manager Console..
    Thanks

    Hi,
    Write a simple java class and right click and use create j2ee web service option run the wizard accepting the default's....after that under the resources folder in Jdev u find a .deploy file deploy on the application server...get the wsdl and consume it in the BPEL process.

  • Trying to access https web service

    Hello: I'm on 4.1.1. I created web service referece for wsdl for http and it worked fine (http://www.webservicex.net/CurrencyConvertor.asmx?wsdl). Now I'm trying to connect to wsdl using https (https://stage.e-verify.uscis.gov/WebService/EmployerWebServiceV23.asmx?wsdl). I went into owm (oracle wallet manager) to create a wallet. I have pointed the apex instance to that wallet. I have completed the wizard to create a report and form on a web service but it is not working.
    I hit the test connection, but get no response. I used to get an ACL/Wallet error before setting up the wallet and pointing to it. After setting up the wallet I no longer get that error, but no response either. I then did the Import Trusted Certificate in owm to pull in a PKCS #7 file I grabbed from the https website. But I still get no response. I can try importing the BASE64 certificate, but don't expect it to help.
    One thing I notice is that the Username and Password entered when testing the web service reference does not appear in the request. I expect to get a response even if the Username and Password are wrong, but I don't, and they are not even in the request that I can see.
    Are there any examples for setting up an https connection using wsdl with apex and wallet?
    Thanks, Hawk
    Edited by: Hawk on May 1, 2012 2:29 PM

    At first I couldn't believe it would require going to the trouble of installing certificates just to access https web services. A Google search about APEX and SSL web services seemed to confirm it, but apparently that was all just a red herring.
    There's one other thing I should mention in case it helps. APEX support for WSDL, even on 4.1, is still a little rudimentary. I've had problems with it on a few .NET generated web services in the past. Machine generated WSDL based on insanely whacky objects built by OOPtards is just too complex for the APEX WSDL interpreter. I'm just imaging the APEX WSDL component being hand forged in a musty corner of a cube farm somewhere and this large sweaty hammer wielding PL/SQL code cutter with his furnace and anvil beating out something to do the job.
    If you're feeling brave, reach for your biggest code hammer. There's one more painful option that will certainly do the job. Process the WSDL locally on your desktop and generate your own SOAP envelopes based on that (SoapUI is a good tool for this). Then create a custom pl/sql package to send your web service request along with the envelope substituting any parameters you might need as the request and do what you need with the response. Just beware, here be a dragon convention.

  • Problems using LiveCycle Designer and Web Services

    Hi there.
    I've just finished reading all the 485 post in this forum, and I've already looked at all the samples and FAQ's, but I still I have the same problem, and it seems I'm not the only one. Here goes:
    I have a .NET Web Service that exposes three methods: one that indicates which PDF to open, one to pre-populate some of the fields of the form and another one to handle the submitted form.
    The first method is called within my asp.net web application and simply determines which pdf form to open in a given context. This one is cool and I have no problems here.
    The second method populates my pdf form. But here starts the trouble. I can't seem to make the pdf call the web service when it is loaded. I mean, what I want is to tell the pdf form that when he loads (and before he shows on the browser), he should call the web service method that pre-populates him. But I can't seem to be able to do this. I've seen JimmiPham's CheckCreditCard.pdf sample, but what he does is call the web service upon a click on the button. What I wanted is similar but on the load of the form. I've added the following line of javascript code to the initialize method of a textbox:
    msg.rawValue = xfa.connectionSet.conn.execute(0);
    where msg is the textbox and conn is the name of my connection. I've used this code based on the sample of the designer help. I've also tried to drag and drop the button from the dataview (the one that is automatically generated) but it wont work. If I press it it gives me an error stating that there was an error attempting to read the web service file (*.asmx).
    I've also tried to drag and drop the textbox in the generated web service response (in the dataview) but nothing works.
    Does anyone have any ideas of what am I doing wrong? This is my first contact with this technology, and I really don't know very well how to manipulate it...
    Regards.

    Hi Jimmy.<br /><br />Thanks for the help.<br />I'm getting really desperate now. Your sample doesn't work. However I have some more info that might bring some light into the fight...<br />I've seen your sample (awesome work), tried it and saved it. Then I opened it with designer 7.0 and checked the code in the click event of the button.<br />Then I copied/pasted your code into my form. I dragged a text box and a button into my form and left them with the default names (TextBox1 and Button1). In the click event of Button1 I've pasted your code and then changed the parts I wanted, as follows:<br /><br />----- form1.#subform[0].Button1::click - (JavaScript, client) --------------------------------------<br />var cWSURL = "http://localhost/SIIOP.PDFManager/PDFManager.asmx?WSDL";<br /><br />app.alert("Setup webservicex PopulatePDF Interface using WSDL URL: \"" + cWSURL + "\"\n");<br /><br />SOAP.wiredump = true;<br /><br />var service = SOAP.connect(cWSURL);<br /><br />if(typeof service != "object")<br />     app.alert("Couldn't get PopulatePDF WSDL object");<br /><br />if(service.PopulatePDF == "undefined")<br />     app.alert("Couldn't get webservicex.PopulatePDF Call");<br /><br />var e;<br /><br />// I need no parameters<br />//var param =<br />//{<br />//    "CardNumber": xfa.resolveNode("CardNumber").rawValue<br />//};<br /><br />try<br />{<br />    app.alert("Make PopulatePDF SOAP call");<br />     <br />//     var result = service.CheckCC(param);<br />     var result = service.PopulatePDF();<br /><br />     if((result == "") || (result == null))  {<br />          app.alert("WebService PopulatePDF returns nothing");<br />         result = "<no results returned>";<br />          }<br /><br />function dump(obj)<br />{<br /><br />    if(typeof obj == "object")<br />    {<br />        for(var i in obj)<br />        {<br />             app.alert("note1: " + i + " = " + obj[i]);<br />             if (i == "string")<br />               {<br />                    xfa.form.Page1.TextField1.rawValue = obj[i];<br />               }<br />          }<br />    }<br />    else app.alert("note2: " + i + " = " + obj[i]);<br />}<br /><br />dump(result);<br /><br />SOAP.wiredump = false;<br /><br />     //xfa.datasets.data.loadXML(result);<br />     //xfa.resolveNode("CardType").rawValue = result["urn:schemas-microsoft-com:xml-diffgram-v1diffgram"]["NewDataSet"]["Table"].CardTy pe;<br />     //xfa.resolveNode("CardValid").rawValue = result["urn:schemas-microsoft-com:xml-diffgram-v1diffgram"]["NewDataSet"]["Table"].CardVa lid;<br /><br />}<br />catch(e)<br />{<br />     app.alert("Problem with webservicex.PopulatePDF Call: " + e);<br />}<br /><br />I saved the form and opened it with internet explorer. When I press the button, I get the first alert stating that "Setup webservicex PopulatePDF Interface using WSDL URL: http://localhost/SIIOP.PDFManager/PDFManager.asmx?WSDL". That's correct.<br />Then I get an alert that says "Couldn't get PopulatePDF WSDL object", which means that he can't get the object. The result is undefined. But that's odd, since I can establish a data connection to this WSDL using the New Data Connection wizard, and in this wizard it even says which methods and actions the web service has... So, the problem must be in the way the web service exposes himself to the PDF, right? <br />Well anyway, here follows the wsdl I have:<br /><br /> <?xml version="1.0" encoding="utf-8" ?> <br />- <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br />- <wsdl:types><br />- <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"><br />- <s:element name="PopulatePDF"><br />  <s:complexType /> <br />  </s:element><br />- <s:element name="PopulatePDFResponse"><br />- <s:complexType><br />- <s:sequence><br />  <s:element minOccurs="0" maxOccurs="1" name="PopulatePDFResult" type="s:string" /> <br />  </s:sequence><br />  </s:complexType><br />  </s:element><br />- <s:element name="CallPDF"><br />  <s:complexType /> <br />  </s:element><br />- <s:element name="CallPDFResponse"><br />- <s:complexType><br />- <s:sequence><br />  <s:element minOccurs="0" maxOccurs="1" name="CallPDFResult" type="s:string" /> <br />  </s:sequence><br />  </s:complexType><br />  </s:element><br />- <s:element name="HandleSubmittedPDF"><br />  <s:complexType /> <br />  </s:element><br />- <s:element name="HandleSubmittedPDFResponse"><br />- <s:complexType><br />- <s:sequence><br />  <s:element minOccurs="0" maxOccurs="1" name="HandleSubmittedPDFResult" type="s:string" /> <br />  </s:sequence><br />  </s:complexType><br />  </s:element><br />  </s:schema><br />  </wsdl:types><br />- <wsdl:message name="PopulatePDFSoapIn"><br />  <wsdl:part name="parameters" element="tns:PopulatePDF" /> <br />  </wsdl:message><br />- <wsdl:message name="PopulatePDFSoapOut"><br />  <wsdl:part name="parameters" element="tns:PopulatePDFResponse" /> <br />  </wsdl:message><br />- <wsdl:message name="CallPDFSoapIn"><br />  <wsdl:part name="parameters" element="tns:CallPDF" /> <br />  </wsdl:message><br />- <wsdl:message name="CallPDFSoapOut"><br />  <wsdl:part name="parameters" element="tns:CallPDFResponse" /> <br />  </wsdl:message><br />- <wsdl:message name="HandleSubmittedPDFSoapIn"><br />  <wsdl:part name="parameters" element="tns:HandleSubmittedPDF" /> <br />  </wsdl:message><br />- <wsdl:message name="HandleSubmittedPDFSoapOut"><br />  <wsdl:part name="parameters" element="tns:HandleSubmittedPDFResponse" /> <br />  </wsdl:message><br />- <wsdl:portType name="PDFManagerSoap"><br />- <wsdl:operation name="PopulatePDF"><br />  <wsdl:input message="tns:PopulatePDFSoapIn" /> <br />  <wsdl:output message="tns:PopulatePDFSoapOut" /> <br />  </wsdl:operation><br />- <wsdl:operation name="CallPDF"><br />  <wsdl:input message="tns:CallPDFSoapIn" /> <br />  <wsdl:output message="tns:CallPDFSoapOut" /> <br />  </wsdl:operation><br />- <wsdl:operation name="HandleSubmittedPDF"><br />  <wsdl:input message="tns:HandleSubmittedPDFSoapIn" /> <br />  <wsdl:output message="tns:HandleSubmittedPDFSoapOut" /> <br />  </wsdl:operation><br />  </wsdl:portType><br />- <wsdl:binding name="PDFManagerSoap" type="tns:PDFManagerSoap"><br />  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <br />- <wsdl:operation name="PopulatePDF"><br />  <soap:operation soapAction="http://tempuri.org/PopulatePDF" style="document" /> <br />- <wsdl:input><br />  <soap:body use="literal" /> <br />  </wsdl:input><br />- <wsdl:output><br />  <soap:body use="literal" /> <br />  </wsdl:output><br />  </wsdl:operation><br />- <wsdl:operation name="CallPDF"><br />  <soap:operation soapAction="http://tempuri.org/CallPDF" style="document" /> <br />- <wsdl:input><br />  <soap:body use="literal" /> <br />  </wsdl:input><br />- <wsdl:output><br />  <soap:body use="literal" /> <br />  </wsdl:output><br />  </wsdl:operation><br />- <wsdl:operation name="HandleSubmittedPDF"><br />  <soap:operation soapAction="http://tempuri.org/HandleSubmittedPDF" style="document" /> <br />- <wsdl:input><br />  <soap:body use="literal" /> <br />  </wsdl:input><br />- <wsdl:output><br />  <soap:body use="literal" /> <br />  </wsdl:output><br />  </wsdl:operation><br />  </wsdl:binding><br />- <wsdl:service name="PDFManager"><br />  <documentation xmlns="http://schemas.xmlsoap.org/wsdl/" /> <br />- <wsdl:port name="PDFManagerSoap" binding="tns:PDFManagerSoap"><br />  <soap:address location="http://localhost/SIIOP.PDFManager/PDFManager.asmx" /> <br />  </wsdl:port><br />  </wsdl:service><br />  </wsdl:definitions><br /><br />If I invoke this webservice method through Internet Explorer, I get the following response:<br /><br />  <?xml version="1.0" encoding="utf-8" ?> <br />  <string xmlns="http://tempuri.org/">Hello World</string>

  • Cannot get web service using 2-way SSL to work

    WebLogic 8.1 sp4, using jdk 1.4.2_05 within BEA install dir (not JRockit). Also using WLWorkshop.
    I'm trying to call a web service provided by a third-party requiring 2-way SSL; The third-party provided a server cert to trust and a key/cert to use from our client. After updating my key and trust stores, I'm able to run this with no problem from another web service test product (CapeClear).
    How does one do this from WLS? I did the following (nothing has worked):
    - Started my WLS server; using the console, updated the Configuration|Keystores & SSL section and restarted - the console output indicates that all loaded correctly. I also changed the option on Two Way Client Cert Behavior to 'Client Certs Requested and Enforced'.
    - Updated my setDomainEnv.cmd to include the following options -Dweblogic.security.SSL.ignoreHostnameVerify=true -Dweblogic.security.SSL.enforceConstraints=off; I also added the -Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true options.
    - Within Workshop, created my web service control from the provided WSDL and generated a test JPF; when I run the test, I get an exception related to an invalid content type (text\html). This occurs because the client-side SSL piece did not take place and the client was presented with a login-page rather than a web-service XML result.
    - I updated the JDK security jars with domestic strength algorithms; no change in behavior.
    - No SSL errors in the debug trace (I can provide log upon request).
    What other parameter and/or setting do I need to update to get this to work?
    Any help would be tremendously appreciated.
    Thanks,
    Rick

    I too am struggling with SSL but I was given some help by BEA. This does not help me since It seems like the proxy jar I download from the WS Home Page wants to go directly to the JPD not the jws. This example of two way SSL should work for you. I am including the Main class but not the generated files it refers to. I don't know how to attach files to the news groups. The key thing it to make use of the adapters. The Impl and Port are part of the downloaded proxy.
    public static void main(String[] args) throws Exception {
    // set weblogic ServiceFactory
    System.setProperty("javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    // set weblogic client protocol handler
    System.setProperty("java.protocol.handler.pkgs", "weblogic.webservice.client");
    // set the SSL adapter
    SSLAdapterFactory adapterFactory = SSLAdapterFactory.getDefaultFactory();
    WLSSLAdapter adapter = (WLSSLAdapter) adapterFactory.getSSLAdapter();
    // two-way SSL you must loadLocalIdentity to provide certs back to the server
    FileInputStream clientCredentialFile = new FileInputStream ("./client/clientcred.pem");
    String pwd = "canpass";
    adapter.loadLocalIdentity(clientCredentialFile, pwd.toCharArray());
    adapter.setVerbose(true);
    adapter.setTrustedCertificatesFile("./config/ca1024.pem");
    adapter.setStrictChecking(false);
    adapterFactory.setDefaultAdapter(adapter);
    adapterFactory.setUseDefaultAdapter(true);
    String a = null;
    if (args.length < 1) {
    a = "Sample String";
    } else {
    a = args[0];
    ToUpper_Impl lookup = new ToUpper_Impl();
    ToUpperPort value = lookup.gettoUpperPort();
    String result = value.toUpper(a);
    System.out.println(result);
    }

Maybe you are looking for

  • The apps on my iPhone and iTunes desktop no longer match. Should I reinstall the apps?

    I have a new desktop and finally got it to sync with my iPhone. However, most of the apps on my phone are not on the desktop. Is there an easy way to make the 2 match or should I just reinstall the apps on the desktop?

  • Need urgent help regarding Adobe LC ES2 JBOSS Clustering

    Hi, Am trying to setup a Horizontal Cluster setup(with two nodes) for Adobe LiveCycle ES2 with Adobe preconfigured JBOSS 4.2.1 and MSSQL 2008(single instance running on one of the nodes). I have successfully completed till Installing LC ES2 Modules i

  • Having problems since latest 10.5.7 update: com.apple.doc "Bus error"

    Hello, Since this morning, after installing the latest Mac OS updates, my Mac has been really slow, and the dock never appears. My console messages keep printing the following message: com.apple.launchd[83] ([0x0-0x18a18a].com.apple.dock[929]) Exited

  • W510 ssd samsung evo

    Hi, I have a thinkpad W510.  It came with an original 500 gb hitachi drive.  I believe it is a 2.5 inch 9.5 mm drive.  Can I put in a samsung ssd evo with 2.5 inch 7mm drive?  Do I need new rubber railings?  The reason im asking is it appears the ori

  • Messed Up Call Log and Ring List

    Hello All, I've run into a problem that happened after some scheduled, but headache inducing network maintenance. For a short while our CUCM was offline and now a lot of our phones cannot access the ringlist.xml file, do not log missed calls, and our