PI 7.4 single stack web service adapter alternative

Hi All,
Looking at upgrading from 7.11 dual stack to 7.4 single stack and I know the web service adapter is no longer available (at least according to anything I have read, but I understand it is in the pipeline).
How do we provide and consume web services on a single stack environment?
I have looked hard, but if the answer has been before me I have failed to recognise it due to my own limitations.
If someone could point me in the direction of any articles/blogs/discussions that answer my question or can answer the question I would be very grateful.
thanks in advance
Julian

Hello Julian,
WS adapter has not been migrated from ABAP stack to Java stack so far - so, in Java-only installation options of PI, there is no analogue for it from functional replacement perspective.
For web services consumption, the SOAP adapter can be used, but it is applicable for plain SOAP communication, not for WS-RM.
Regards,
Vadim

Similar Messages

  • Web Service Adapter import problem in ETPM

    Hi ,
    When I tried to import the http://uiappdev3.detr.nv:7090/WebService/iwfCWI.wsdl in Web Service Adapter in ETPM ,After that when i tried to generete the Request Data Area and Response Data Area I am geting the below eroor message, Can anyone suggest me...
    This is my http://uiappdev3.detr.nv:7090/WebService/iwfCWI.wsdl
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://uilink.interfaces.com/iwf/cwi" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:sch="http://uilink.interfaces.com/iwf/cwi" name="" targetNamespace="http://uilink.interfaces.com/iwf/cwi"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cwi="http://uilink.interfaces.com/iwf/cwi" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://uilink.interfaces.com/iwf/cwi"> <xs:element name="cwi-update-request"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="requests" nillable="true" type="cwi:cwiUpdateRequestType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cwi-update-response"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="message" type="xs:string"/> <xs:element name="requestStatus" type="cwi:requestStatusType"/> <xs:element maxOccurs="unbounded" name="responses" nillable="true" type="cwi:cwiUpdateResponseType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="cwiUpdateRequestType"> <xs:sequence> <xs:element name="userId" type="cwi:writtenUserId"/> <xs:element minOccurs="0" name="processLaunch" type="cwi:processLaunch"/> </xs:sequence> </xs:complexType> <xs:complexType name="cwiUpdateResponseType"> <xs:sequence> <xs:element minOccurs="0" name="message" type="xs:string"/> <xs:element name="requestStatus" type="cwi:requestStatusType"/> </xs:sequence> </xs:complexType> <xs:simpleType name="requestStatusType"> <xs:restriction base="xs:string"> <xs:enumeration value="SUCCESS"/> <xs:enumeration value="ERROR"/> <xs:enumeration value="DUPLICATE_REQUEST"/> <xs:enumeration value="NOT_SENT"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="writtenUserId"> <xs:restriction base="xs:string"> <xs:enumeration value="UINV"/> </xs:restriction> </xs:simpleType> <xs:complexType name="processLaunch"> <xs:sequence> <xs:element name="procTypCd" type="xs:string"/> <xs:element minOccurs="0" name="procItmTypCd" type="xs:string"/> <xs:element minOccurs="0" name="issId" type="xs:long"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="keyFields" type="cwi:commonKeyFields"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="histItems" type="cwi:commonProcessItemsHistory"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="attachements" type="cwi:commonProcessItemsAttachments"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="parties" type="cwi:commonProcessItemsParties"/> </xs:sequence> </xs:complexType> <xs:complexType name="commonKeyFields"> <xs:sequence> <xs:element name="keyFiledCd" type="xs:int"/> <xs:element minOccurs="0" name="keyFiledVal" type="xs:string"/> <xs:element minOccurs="0" name="isRequired" type="xs:boolean"/> </xs:sequence> </xs:complexType> <xs:complexType name="commonProcessItemsHistory"> <xs:sequence> <xs:element minOccurs="0" name="procHistId" type="xs:long"/> <xs:element minOccurs="0" name="actionDate" type="xs:date"/> <xs:element minOccurs="0" name="actionCd" type="xs:string"/> <xs:element minOccurs="0" name="actor" type="xs:string"/> <xs:element minOccurs="0" name="actorName" type="xs:string"/> <xs:element minOccurs="0" name="receiver" type="xs:string"/> <xs:element minOccurs="0" name="receiverName" type="xs:string"/> <xs:element minOccurs="0" name="actionComments" type="xs:string"/> <xs:element minOccurs="0" name="deadlineDate" type="xs:date"/> </xs:sequence> </xs:complexType> <xs:complexType name="commonProcessItemsAttachments"> <xs:sequence> <xs:element name="procAttachId" type="xs:long"/> <xs:element minOccurs="0" name="attachCtgCd" type="xs:string"/> <xs:element minOccurs="0" name="attachItemId" type="xs:long"/> <xs:element minOccurs="0" name="attachItemName" type="xs:string"/> <xs:element minOccurs="0" name="attachItemTypCd" type="xs:string"/> <xs:element minOccurs="0" name="attachedBy" type="xs:string"/> <xs:element minOccurs="0" name="attachReason" type="xs:string"/> <xs:element minOccurs="0" name="actionComments" type="xs:string"/> <xs:element minOccurs="0" name="attachDate" type="xs:date"/> <xs:element minOccurs="0" name="filePath" type="xs:string"/> <xs:element minOccurs="0" name="prtyNm" type="xs:string"/> <xs:element minOccurs="0" name="dueDate" type="xs:string"/> <xs:element minOccurs="0" name="rspndByDt" type="xs:string"/> <xs:element minOccurs="0" name="rspnsRcd" type="xs:string"/> <xs:element minOccurs="0" name="cpmNoticId" type="xs:long"/> <xs:element minOccurs="0" name="cprolcd" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="commonProcessItemsParties"> <xs:sequence> <xs:element name="procAssoId" type="xs:long"/> <xs:element minOccurs="0" name="procAssoTypCd" type="xs:string"/> <xs:element minOccurs="0" name="prtyUILinkId" type="xs:long"/> <xs:element minOccurs="0" name="prtyName" type="xs:string"/> <xs:element minOccurs="0" name="prtySSN" type="xs:string"/> <xs:element minOccurs="0" name="prtyAcctNum" type="xs:string"/> <xs:element minOccurs="0" name="prtyFEIN" type="xs:string"/> <xs:element minOccurs="0" name="prtyPhonePrim" type="xs:string"/> <xs:element minOccurs="0" name="prtyPhonePrimExtn" type="xs:date"/> <xs:element minOccurs="0" name="prtyPhoneCel" type="xs:string"/> <xs:element minOccurs="0" name="prtyPhoneCelExtn" type="xs:string"/> <xs:element minOccurs="0" name="prtyFax" type="xs:string"/> <xs:element minOccurs="0" name="prtyEmail" type="xs:string"/> <xs:element minOccurs="0" name="prtyStrtOne" type="xs:string"/> <xs:element minOccurs="0" name="prtyStrtTwo" type="xs:long"/> <xs:element minOccurs="0" name="prtyCty" type="xs:string"/> <xs:element minOccurs="0" name="prtySta" type="xs:string"/> <xs:element minOccurs="0" name="prtyZip" type="xs:string"/> <xs:element minOccurs="0" name="prtyCnt" type="xs:string"/> <xs:element minOccurs="0" name="noteId" type="xs:long"/> <xs:element minOccurs="0" name="createdBy" type="xs:string"/> <xs:element minOccurs="0" name="dateCreated" type="cwi:mixedDate"/> <xs:element minOccurs="0" name="dateModified" type="cwi:mixedDate"/> <xs:element minOccurs="0" name="modifiedBy" type="xs:string"/> <xs:element minOccurs="0" name="noteList" type="cwi:noteList"/> </xs:sequence> </xs:complexType> <xs:simpleType name="mixedDate"> <xs:union memberTypes="cwi:valDate cwi:altDate"/> </xs:simpleType> <xs:simpleType name="valDate"> <xs:restriction base="xs:date"> <xs:minInclusive value="1900-01-01"/> <xs:maxInclusive value="4099-12-31"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="altDate"> <xs:restriction base="xs:string"> <xs:enumeration value="********"/> <xs:enumeration value="00000000"/> <xs:enumeration value="XXXXXXXX"/> <xs:enumeration value="99999999"/> <xs:enumeration value=" "/> </xs:restriction> </xs:simpleType> <xs:complexType name="noteList"> <xs:sequence> <xs:element name="dateCreated" type="cwi:mixedDate"/> <xs:element minOccurs="0" name="dateModified" type="cwi:mixedDate"/> <xs:element minOccurs="0" name="modifiedBy" type="xs:string"/> <xs:element name="noteId" type="xs:long"/> <xs:element minOccurs="0" name="noteSubj" type="xs:string"/> <xs:element minOccurs="0" name="noteTxt" type="xs:string"/> <xs:element minOccurs="0" name="noteUrgent" type="xs:string"/> <xs:element minOccurs="0" name="notypCd" type="xs:string"/> <xs:element minOccurs="0" name="prtyId" type="xs:long"/> <xs:element minOccurs="0" name="funcAreaCd" type="xs:string"/> <xs:element minOccurs="0" name="funcId" type="xs:long"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="cwi-update-response"> <wsdl:part name="cwi-update-response" element="tns:cwi-update-response"/> </wsdl:message> <wsdl:message name="cwi-update-request"> <wsdl:part name="cwi-update-request" element="tns:cwi-update-request"/> </wsdl:message> <wsdl:portType name="iwfCWI"> <wsdl:operation name="cwi-update"> <wsdl:input name="cwi-update-request" message="tns:cwi-update-request"/> <wsdl:output name="cwi-update-response" message="tns:cwi-update-response"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="iwfCWISoap11" type="tns:iwfCWI"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <wsdl:operation name="cwi-update"> <soap:operation soapAction="createWorkItem"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="iwfCWIService"> <wsdl:port name="iwfCWISoap11" binding="tns:iwfCWISoap11"> <soap:address location="http://uiappdev3.detr.nv:7090/WebService/iwfCWIService"/> </wsdl:port> </wsdl:service></wsdl:definitions>
    I got the below error message
    VNAKKANA - 137890-184-1 2012-10-31 23:44:18,928 [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO (scripting.actions.Action) Executing step: 20: branch ("parm/isRequired = 'true'") goto 30 else 50;
    VNAKKANA - 137890-184-1 2012-10-31 23:44:18,928 [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO (scripting.actions.Action) Executing step: 50: terminate;
    VNAKKANA - 137890-185-1 2012-10-31 23:44:19,161 [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG (org.hibernate.SQL) select * from ( select scriptprom1_.STEP_SEQ_NUM as col_0_0_, scriptprom1_.SCR_CD as col_1_0_, scriptprom1_.SEQ_NUM as col_2_0_, scriptprom1_.DEFAULT_SW as col_3_0_, scriptprom1_.SORT_SEQ as col_4_0_, scriptprom1_.NEXT_SORT_SEQ as col_5_0_, scriptprom0_.LABEL_LONG as col_6_0_, scriptprom1_.SORT_SEQ as col_7_0_ from CI_SCR_PRMPT_L scriptprom0_ inner join CI_SCR_PRMPT scriptprom1_ on scriptprom0_.SCR_CD=scriptprom1_.SCR_CD and scriptprom0_.STEP_SEQ_NUM=scriptprom1_.STEP_SEQ_NUM and scriptprom0_.SEQ_NUM=scriptprom1_.SEQ_NUM where ((scriptprom1_.SCR_CD=? )and(scriptprom1_.STEP_SEQ_NUM=? ))and(scriptprom0_.LANGUAGE_CD=? ) order by scriptprom1_.SORT_SEQ ) where rownum <= ?
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,020 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO (support.schema.AbstractSchemaBasedDispatcher) Performing page:read of BusinessService F1-WsdlToDA' (service='F1-WSDLTODA'), with input request
    <?xml version="1.0" encoding="UTF-8"?>
    <root xmlns:ora="http://www.oracle.com/tugbu/uimap">
    <serviceScript>F1-WsdlToDA</serviceScript>
    <webServiceName>CM-UINV-CWI</webServiceName>
    <operation>cwi-update</operation>
    <requestDAexists/>
    <responseDAexists/>
    <requestDataAreaName>CM-RQ</requestDataAreaName>
    <responseDataAreaName>CM-RS</responseDataAreaName>
    </root>
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,021 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO (support.schema.AbstractSchemaBasedDispatcher) Converted request to page header:(PageHeader)
    actionFlag: null
    OPERATION_NAME: cwi-update
    REQUEST_DATA_AREA_CD: CM-RQ
    RESPONSE_DATA_AREA_CD: CM-RS
    WEB_SVC_NAME: CM-UINV-CWI
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,113 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG (org.hibernate.SQL) select maintenanc0_.MAINT_OBJ_CD as col_0_0_ from CI_MD_MO maintenanc0_ where (maintenanc0_.SVC_NAME=? )
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,114 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO (support.context.FrameworkSession) Flush requested prior to disabled flush executable
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,115 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO (support.context.FrameworkSession) Flush not required, session is not dirty- prior to disabled flush executable
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,119 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG (org.hibernate.SQL) select webservice0_.WEB_SVC_NAME as WEB1_1235_0_, webservice0_.VERSION as VERSION1235_0_, webservice0_.BO_STATUS_CD as BO3_1235_0_, webservice0_.STATUS_UPD_DTTM as STATUS4_1235_0_, webservice0_.WSDL_URL as WSDL5_1235_0_, webservice0_.WSDL_SVC_NAME as WSDL6_1235_0_, webservice0_.WSDL_PORT as WSDL7_1235_0_, webservice0_.URL as URL1235_0_, webservice0_.WSDL_SOURCE as WSDL9_1235_0_, webservice0_.WEB_SVC_SECURITY_TYPE_FLG as WEB10_1235_0_, webservice0_.BO_DATA_AREA as BO11_1235_0_, webservice0_.BUS_OBJ_CD as BUS12_1235_0_ from F1_WEB_SVC webservice0_ where webservice0_.WEB_SVC_NAME=?
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,134 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG (org.hibernate.SQL) select operations0_.WEB_SVC_NAME as WEB1_1_, operations0_.OPERATION_NAME as OPERATION2_1_, operations0_.WEB_SVC_NAME as WEB1_753_0_, operations0_.OPERATION_NAME as OPERATION2_753_0_, operations0_.VERSION as VERSION753_0_, operations0_.WSDL_OPERATION_NAME as WSDL4_753_0_, operations0_.OPERATION_ACTIVE_FLG as OPERATION5_753_0_, operations0_.REQUEST_ELEMENT as REQUEST6_753_0_, operations0_.RESPONSE_ELEMENT as RESPONSE7_753_0_, operations0_.RESPONSE_DATA_AREA_CD as RESPONSE8_753_0_, operations0_.REQUEST_DATA_AREA_CD as REQUEST9_753_0_ from F1_WEB_SVC_OPERATIONS operations0_ where operations0_.WEB_SVC_NAME=? order by operations0_.OPERATION_NAME
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,903 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] DEBUG (org.hibernate.SQL) select distinct businessob0_.BUS_OBJ_CD as col_0_0_ from F1_BUS_OBJ_OPT businessob0_ where (businessob0_.BUS_OBJ_OPT_FLG=? )and((businessob0_.BUS_OBJ_OPT_VAL=? )or(businessob0_.BUS_OBJ_OPT_VAL=? ))
    VNAKKANA - 137890-190-1 2012-10-31 23:44:34,913 [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR (api.service.ServiceExecutionPolicy) Encountered exception, session marked for rollback
    java.lang.NullPointerException
    at com.splwg.base.support.schema.wsdl.schema.W3CSchemaToFWMappingSchema.getDataType(W3CSchemaToFWMappingSchema.java:247)
    at com.splwg.base.support.schema.wsdl.schema.W3CSchemaToFWMappingSchema.visitSimpleType(W3CSchemaToFWMappingSchema.java:240)
    at

    Hi,
    I guess one of the biggest advantages of the WS Adapter is the support for WS Reliable Messaging.
    Here are some documentations about this Adapter:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/304335f7-f33c-2a10-ae80-9c9ffdc86415
    http://help.sap.com/saphelp_nwpi71/helpdata/en/45/37d73b80554c2ce10000000a1553f6/frameset.htm
    Regards
    Patrick

  • Error connecting to Salesforce using a Web Service Adapter

    Hi,
    I'm working on a connection from Data Services 4.2 to Salesforce using a Web Service Adapter.
    I've setup up the adapter (including JVM parameters to use a HTTP proxy), created a Datastore based on the adapter and built a batch job that calls the login operation and initiates a sessions towards Salesforce.
    When I execute the batch job I get an error message that says:
    Error calling function <login>: <Web Services client unable to create a SOAP request to send to server. Error: The current node has been removed using a method other than Iterator#remove()>.
    The trace log for the Web Service Adapter contains the same error message and has some additional info.
    4/16/15 1:17:25 PM Thread[Thread-10,5,main] Handle request starting for operation: login
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Entering addDocumentMessage()...
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Entering addHeadersToEnvelope()...
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Web Services client unable to create a SOAP request to send to server. Error: The current node has been removed using a method other than Iterator#remove()
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Remove message listener for message type [adapter.WSAdapter.__STREAM_FUNCTION.1].
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Stopping web service function call operation
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Receive message: BrokerMessage(
    _e.ErrorsTo=com.acta.adapter..client.dataAndMetadata_8
    _e.Timestamp=Thu Apr 16 13:17:26 2015
    _e.SourceTimeoutLength=90000
    _e.MessageID=16
    _e.Destination=com.acta.adapter.webservice.adapter.WebServiceAdapter.data_2
    _e.MessageType=MSG_ADAPTER_END_OPER
    _e.ReplyTo=com.acta.adapter..client.dataAndMetadata_8
    _e.CorrelationID=15_com.acta.adapter..client.dataAndMetadata_8
    _a.MSGFIELD_ADAPTER_SESSION_ID=2
    _e.Source=com.acta.adapter..client.dataAndMetadata_8
    _a.MSGFIELD_ADAPTER_OPER_ID=1)
    I've searched for any additional tracing/logging on the server but I haven't found anything relevant. Can anyone help me determining what the cause of this error is so I can solve this?
    Thanks,
    - Ian

    Hi,
    I'm working on a connection from Data Services 4.2 to Salesforce using a Web Service Adapter.
    I've setup up the adapter (including JVM parameters to use a HTTP proxy), created a Datastore based on the adapter and built a batch job that calls the login operation and initiates a sessions towards Salesforce.
    When I execute the batch job I get an error message that says:
    Error calling function <login>: <Web Services client unable to create a SOAP request to send to server. Error: The current node has been removed using a method other than Iterator#remove()>.
    The trace log for the Web Service Adapter contains the same error message and has some additional info.
    4/16/15 1:17:25 PM Thread[Thread-10,5,main] Handle request starting for operation: login
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Entering addDocumentMessage()...
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Entering addHeadersToEnvelope()...
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Web Services client unable to create a SOAP request to send to server. Error: The current node has been removed using a method other than Iterator#remove()
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Remove message listener for message type [adapter.WSAdapter.__STREAM_FUNCTION.1].
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Stopping web service function call operation
    4/16/15 1:17:26 PM Thread[Thread-10,5,main] Receive message: BrokerMessage(
    _e.ErrorsTo=com.acta.adapter..client.dataAndMetadata_8
    _e.Timestamp=Thu Apr 16 13:17:26 2015
    _e.SourceTimeoutLength=90000
    _e.MessageID=16
    _e.Destination=com.acta.adapter.webservice.adapter.WebServiceAdapter.data_2
    _e.MessageType=MSG_ADAPTER_END_OPER
    _e.ReplyTo=com.acta.adapter..client.dataAndMetadata_8
    _e.CorrelationID=15_com.acta.adapter..client.dataAndMetadata_8
    _a.MSGFIELD_ADAPTER_SESSION_ID=2
    _e.Source=com.acta.adapter..client.dataAndMetadata_8
    _a.MSGFIELD_ADAPTER_OPER_ID=1)
    I've searched for any additional tracing/logging on the server but I haven't found anything relevant. Can anyone help me determining what the cause of this error is so I can solve this?
    Thanks,
    - Ian

  • Howto implement a Web Service Adapter?

    Hi all,
    Is it possible to create a Web Service Adapter, that allows external apps to pass data into CEP by calling the WebService method in that Adapater?
    The intention is to have an external J2EE application to send events to CEP for further processing.
    Any pointers are deeply appreciated.
    thank you
    Yee Thian

    Hi all,
    my question has been answered with the new FMW 11.1.1.3 release. The [updated document |http://download.oracle.com/docs/cd/E14571_01/doc.1111/e14301/webservconfig.htm#BHCBCGHI] has a section on exposing CEP application as WS.
    thank you all, especially Andy.
    yee thian

  • Difference between Direct binding ,  Web service Adapter and HTTP Binding

    Can any one help what is the differnce between
    *1) Direct binding*
    *2) Webservice Adapter*
    *3) HTTP Binding*
    I am trying to use the above service adapters as references in BPEL.
    I had invoked a web service hosted in OSB from BPEL via web service adapter and was successful
    On going through few docs came through the other two service adapters but was not able to figure out what exactly is the differnce .
    I learnt +"*Direct binding*"+ can be used to call OSB+ . How does it vary from Webservice Adapter+

    hi Eric ,
    Thanks for clarification ..
    OSB does not generate WSDL and web service adapter in BPEL mandates WSDL .
    I had to create WSDL separately and then feed into Web service adapter in BPEL to call OSB Proxy service. Though successful , felt its not an better approach.
    Please advice is there any way thatWSDL is generated in OSB itself . .if i try to create webservice on Proxy service the wsdl resulted from it has only binding and porty type .
    Is it the same case for ++Direct binding++ .I assume it should not be the case

  • Web Service Adapter in PI 7.1?

    Hi all,
    I have read in a document that there is a special adapter called "WebService" adapter in PI 7.1.
    Do anyone have an idea on its advantages over the SOAP adapter? Or what are the differences between the two adapters?
    Many thanks for your precious time.
    Ramesh.

    Hi,
    I guess one of the biggest advantages of the WS Adapter is the support for WS Reliable Messaging.
    Here are some documentations about this Adapter:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/304335f7-f33c-2a10-ae80-9c9ffdc86415
    http://help.sap.com/saphelp_nwpi71/helpdata/en/45/37d73b80554c2ce10000000a1553f6/frameset.htm
    Regards
    Patrick

  • Exception in execution of web service (Adaptative web service model)

    Hi,
    I have a WSDL which is working fine in WS Navigator, but if I import it as model in WD JAVA and apply the template on component controller to read the service and execute the method wdDoInit, I am getting a run time error.
    the error occurs on the method wdDoInit, in the following line of code
    Modelwsres modelwsresModel = new Modelwsres();
    <h6>public void wdDoInit()
        //@@begin wdDoInit()
        //$$begin Service Controller6(825011426)
        Modelwsres modelwsresModel = new Modelwsres();
        Request_ObtenerEntidades request_ObtenerEntidades = new Request_ObtenerEntidades(modelwsresModel);
        wdContext.nodeRequest_ObtenerEntidades().bind(request_ObtenerEntidades);
        //$$end
       //@@end
      }</h6>
    Enviroment:
    SAP Netweaver CE 7.1 EHP1
    SAP Enhancement Package 1 for SAP NetWeaver Developer Studio 7.1 SP04 PAT0000
    Windows 2003 Server
    Error that I am getting is as follows
    <h6> java.lang.NoSuchMethodError: com.sap.tc.webdynpro.model.webservice.gci.WSTypedModel.(Ljava/lang/String;Ljava/lang/String;Ljavax/xml/namespace/QName;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Lcom/sap/tc/webdynpro/model/webservice/gci/IWSTypedModelInfo;Ljava/util/Map;Ljava/util/Map;)V
    java.lang.NoSuchMethodError: com.sap.tc.webdynpro.model.webservice.gci.WSTypedModel.<init>(Ljava/lang/String;Ljava/lang/String;Ljavax/xml/namespace/QName;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;Lcom/sap/tc/webdynpro/model/webservice/gci/IWSTypedModelInfo;Ljava/util/Map;Ljava/util/Map;)V
      at com.ayesa.app.pruebadirpers.modelwsres.Modelwsres.<init>(Modelwsres.java:466)
      at com.ayesa.app.pruebadirpers.dpapp.comp.ModelwsController.wdDoInit(ModelwsController.java:123)
      at com.ayesa.app.pruebadirpers.dpapp.comp.wdp.InternalModelwsController.wdDoInit(InternalModelwsController.java:300)
      at com.sap.tc.webdynpro.progmodel.generation.DelegatingCustomController.doInit(DelegatingCustomController.java:48)
      at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:227)
      at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:206)
      at com.sap.tc.webdynpro.progmodel.components.Component.getCustomControllerInternal(Component.java:663)
      at com.sap.tc.webdynpro.progmodel.components.Component.getMappableContext(Component.java:629)
      at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getDataNode(MappingInfo.java:134)
      at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:171)
      at com.sap.tc.webdynpro.progmodel.context.MappedNodeInfo.doInit(MappedNodeInfo.java:193)
      at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:968)
      at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:972)
      at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:69)
      at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:205)
      at com.sap.tc.webdynpro.progmodel.window.ViewManager.getView(ViewManager.java:667)
      at com.sap.tc.webdynpro.progmodel.window.ViewManager.bindRoot(ViewManager.java:562)
      at com.sap.tc.webdynpro.progmodel.window.ViewManager.init(ViewManager.java:182)
      at com.sap.tc.webdynpro.progmodel.window.InterfaceView.manageEmbeddedViewManager(InterfaceView.java:141)
      at com.sap.tc.webdynpro.progmodel.window.InterfaceView.initController(InterfaceView.java:55)
      at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:206)
      at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.doOpen(WebDynproWindow.java:364)
      at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.show(ApplicationWindow.java:183)
      at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.open(ApplicationWindow.java:178)
      at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:557)
      at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.doPreprocessing(ClientApplication.java:1338)
      at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToApplicationDoPreprocessing(AbstractExecutionContextDispatcher.java:146)
      at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForAppPreprocessing.doService(DispatchHandlerForAppPreprocessing.java:35)
      at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:127)
      at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:95)
      at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToApplicationDoPreprocessing(ExecutionContextDispatcher.java:100)
      at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:74)
      at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:571)
      at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.dispatch(ApplicationSession.java:602)
      at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doPreprocessing(ApplicationSession.java:252)
      at com.sap.tc.webdynpro.clientserver.session.ClientSession.doPreprocessing(ClientSession.java:677)
      at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:239)
      at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:258)
      at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.delegateToRequestManager(AbstractExecutionContextDispatcher.java:202)
      at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.DispatchHandlerForRequestManager.doService(DispatchHandlerForRequestManager.java:38)
      at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.AbstractDispatchHandler.service(AbstractDispatchHandler.java:127)
      at com.sap.engine.services.servlets_jsp.server.deploy.impl.module.IRequestDispatcherImpl.dispatch(IRequestDispatcherImpl.java:95)
      at com.sap.tc.webdynpro.serverimpl.wdc.sessionctx.ExecutionContextDispatcher.dispatchToRequestManager(ExecutionContextDispatcher.java:140)
      at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:92)
      at com.sap.tc.webdynpro.serverimpl.core.sessionctx.AbstractExecutionContextDispatcher.dispatch(AbstractExecutionContextDispatcher.java:104)
      at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doContent(AbstractDispatcherServlet.java:87)
      at com.sap.tc.webdynpro.serverimpl.core.AbstractDispatcherServlet.doGet(AbstractDispatcherServlet.java:54)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:140)
      at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:37)
      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:466)
      at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:291)
      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:396)
      at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:385)
      at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:76)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:240)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
      at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
      at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
      at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
      at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
      at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:425)
      at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:250)
      at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
      at com.sap.engine.core.thread.execution.Executable.run(Executable.java:109)
      at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:314)</h6>
    Please suggest some solution.
    Regards

    Hi,
    I had not written all the code because they considered it important:
    public void wdDoInit()
        //@@begin wdDoInit()
        //$$begin Service Controller6(825011426)
         Modelwsres modelwsresModel = new Modelwsres();
        Request_ObtenerEntidades request_ObtenerEntidades = new Request_ObtenerEntidades(modelwsresModel);
        ObtenerEntidades obtenerEntidades = new ObtenerEntidades(modelwsresModel);
        request_ObtenerEntidades.setObtenerEntidades(obtenerEntidades);
        Response_ObtenerEntidades response_2 = new Response_ObtenerEntidades(modelwsresModel);
        request_ObtenerEntidades.setResponse(response_2);
        ObtenerEntidadesResponse obtenerEntidadesResponse = new ObtenerEntidadesResponse(modelwsresModel);
        response_2.setObtenerEntidadesResponse(obtenerEntidadesResponse);
        java.util.List<Entidad> return_2 = new ArrayList<Entidad>();
        obtenerEntidadesResponse.setReturn(return_2);
        wdContext.nodeRequest_ObtenerEntidades().bind(request_ObtenerEntidades);
      //$$end
    //@@end
    but the error occurs on the first line of method:
    Modelwsres modelwsresModel = new Modelwsres();
    Thanks.
    Regards

  • Import Data object using web service adapter

    Hello experts,
    In DOE, theres a way to import Data Object from a wsdl using webservice adapter. We got to know that there are some guidelines(constraints) on the operations provided in the wsdl to be able to use webservice adapter. Could you please give a sample wsdl which can be used to import Data object for our reference?
    Thanks in Advance,
    Srilatha

    Hi Srilatha,
    SAP Netweaver 7.3 is not yet released to customers.  Once, this happens we will post sufficient documentation related to the Import of Data Objects through WSDLs.  In case you require the information urgently, kindly get in touch directly with the colleagues from DOE Mobile team.
    Best Regards,
    Kranti

  • Exposing mutiple outbound message interface as a single Web service

    Hi all,
    My Scenario is SOAP <--> PI 7.0 <---> SAP R/3 (Proxy communication). A third party portal will communicate 24/7 online with SAP R/3 via PI 7.0. I have to expose all the outbound message interfaces as a single webservice, so that the third party portal will consume that web service and will communicate to SAP R/3. The communication between Portal and PI 7.0 will be SOAP and from PI to SAP R/3 as proxy communication. I can able to expose a each outbound message interface as a webservice individually i.e each message interface gets separate WSDL file. But the portal people asking me to generate single WSDL (web service) in which all the message interfaces should be included as operations. Could you please send me the information, how to generate a single web service for all the message interfaces?
    I have gone through the entire SDN community, but could nt able to get the information. If anybody worked on similer issue , please guide me to approach to get the solution.
    Regards
    Vijayanand Poreddy

    Hi,
    It is possible to expose all operation using one endpoint by overwritting the default interface name and interface namespace in one "generic" soap sender CC. To achieve it, you need to set the following options Use Encoded Headers and Use Query String in your sender CC.
    Unfortunatelly, there is one drowback of this approach. Before portal will send the request, it has to concatenate the generic endpoint:
    http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<channel>
    with URL encoded interface information:
    &version=3.0&Interface=http%3A%2F%2Fsap.com%2Ftest%5ETest
    for each operations.
    For more detail ref these docs:
    [How To… Use the XI 3.0 SOAP Adapter|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79]
    [Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter|https://websmp230.sap-ag.de/sap(bD1wbCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856597&nlang=EN&smpsrv=https%3a%2f%2fwebsmp210%2esap-ag%2ede]
    I guess that in PI 7.1 this disadvantage will be enhanced.
    Regards,
    Jakub

  • Calling external Web Service: PI is looking for a logical port and proxy.

    Hi,
    My scenario is  ECC Proxy -> PI -> External Webservice (WS adapter).
    the Web service adapter fails with the error message:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">WS_ADAPTER_SYS_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>System error while calling Web service adapter: Error when initializing SOAP client application: &#39;error_text&#39;</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    When I debug the message processing, it is looking for a port in table SSRVRTCONFIG, finds it(entry created automatically when WS adapter and the corresponding receiver agreement is activated in ID.
    Then the program looks for an entry in "SRT_CFG_CLI_ASGN" for a proxy and logical port combination and errors out.
    to be able to call an external web service, do we need a proxy to be created? I tried to create but the proxy creation fails because the external WSDL has some unsupported tags.
    Also do we need to do any other configuration in SOAMANAGER? I am assuming not because the Web service is external.
    Any help would be appreciated.
    Thanks
    Vijay

    I already checked that note and made sure that the points mentioned are met. I have a trace set up on the target system and would know if the call reaches them and then fails in authorization. Right now the call doesnt even reach the target system and also from debugging I know that the program is looking for a proxy and then fails.

  • An error occurred while trying to connect to a Web service, when InfoPath web enabled form loads.

    Hi Everyone,
    I am getting an error message: An error occurred while trying to connect to a web service, when my InfoPath form tries to load.  The last few days, it only spits this error message in the morning and around 12pm-1pm it resolves itself and the form loads
    fine the rest of the day, oddly enough. 
    A few things about my form:
    1). It is web enabled
    2). The form submits to a form library on the SP server
    3). I use the UserProfileService data connection in the form to auto-populate a few fields
    4). I use a udcx file with correct language stored in the root of the site collection in the data connection library
    5). The form has been working fine until a few days ago
    I noticed while in Central Administration, that the User Profile Service Synchronization is Stopped.  Not sure if this is causing some or all of the problem. If I need to start it I will need to contact my farm administrator to do this, since I do not
    have the service account information.
    Also, I looked thru the log files on the SharePoint server and found the following by searching for the Correlation ID shown when the error comes up, I won't put in everything just the important messages.
    Schema file was already loaded: BuiltInActiveXControls.xsd
    FormServer Partial Trust - Proxy operation invoked in the SHIM process.
    FormServer Partial Trust - Invoking proxy operation for Web service adapter failed with exception Operation is not valid due to the current state of the object. for Url=https://<SP URL>/_vti_bin/UserProfileService.asmx
    Data adapter failed during OnLoad: The custom code in the form cannot be run. This functionality may be deactivated on the server. For more information, contact the server farm administrator.
    The following query failed: GetUserProfileByName (User: , Form Name: Expense Report, IP: , Connection Target: <SP URL>/Data Connections/GetUserProfileByName.udcx, Request: , Form ID: urn:schemas-microsoft-com:office:infopath:Expense-Report:-myXSD-2014-04-11T21-06-32
    Type: DataAdapterException, Exception Message: The custom code in the form cannot be run. This functionality may be deactivated on the server.

    Hi B.,
    You are on the right track. I recommend that you first get the User Profile Synchronization Service started because that itself could be the root cause of the issue.
    If that doesn't fix it then focus your attention on the GetUserprofileByName data connection. I always use my secure store ID for this connection. I add the ID by editing the udcx file and then publishing it again.
    Hope this helps.
    Daniel Christian (MCTS)

  • "Unable to load URL" - SQL Server 2005 DB Web Service Connection

    Hi ,
    I am using XCelsius version 5.0.0.99 to create dashboards connecting to SQL Server 2005.
    Find below the details of the steps -
    1. Created a web service within SQL Server 2005 database.
    2. Copied the WSDL URL.
    3. In XCelsius 2008 -> Data Manager -> Web Service Connection, pasted the URL in the WSDL URL input box and clicked "Import" to import the methods. At this point I am getting "Unable to load URL" .
    Am I missing any step ?
    Any suggestion would be highly appreciated.
    Note : I have tested the web service by using it in a ASP.Net project and works fine.
    Thanks
    Chitra

    Hi,
    Error :unable to Load URL occurs" because Crystal xcelsius only support single schema web service created from Query as a web service and Flynet tool available in xcelsius 2008.
    The reason:
    All the web service create from Sql 2005 ,PHP script produced multiple scehma web service and crystal xcelsius only support single schema web service which can be created from Query as a web service or Flynet.
    Please revert in case of any queries.
    Regards
    Kekti Fadnavis

  • Exposing an RFC enabled function as a Web Service in Minisap

    Hi all,
    i'm trying to expose an RFC enabled function as a Web Service in my Minisap installation. Everything works fine, until i actually want to finish the Web Service wizard. It always quotes that the object can only be deployed in an sap paket. If i try to put it in the $TMP paket, by marking it as a local object, i always get the message that test objects can not be deployed in external pakets.
    Any idea?
    Furthermore the virtual interface with the name i selected in the Web Service wizard seems to exist, at least i can not try to deploy the Web Service again with the same name. Actually, i also can't find a place where i can delete the virtual interface. Any hint on that issue is also appreciated.
    Thanks in advance!
    /Marc

    I wanted to write a web service adapter:
    @WebService
    public class MyWebService implements StreamSender {
         private StreamSender eventSender;
         @WebMethod
         public void echo(String msg) {
              eventSender.sendInsertEvent(new MyEvent(msg));
    After deploying I've got NullPointerException, eventSender is null. This is because MyWebService instance is NOT on the spring context, since it was created by jetty via reflection.
    So now I'm trying another approach. I want to inject an adapter from the spring context into the web service:
    I wanted to write a web service adapter:
    @WebService
    public class MyWebService {
         private MyWSAdapter myAdapter;
         @Resource
         private WebServiceContext context;
         @WebMethod
         public void echo(String msg) {
              myAdapter = getMyAdapterFromSpringContext();
              myAdapter.sendInsertEvent(new MyEvent(msg));
         public MyWSAdapter getMyAdapterFromSpringContext() {
              ServletContext sc = (ServletContext) context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
              ApplicationContext springContext = WebApplicationContextUtils.getWebApplicationContext(sc);
              return (MyWSAdapter) springContext.getBean("myWSAdapter");
    So far i'm getting java.lang.NoClassDefFoundError for org.springframework.web.context.support.WebApplicationContextUtils (org.springframework.spring-web_2.5.6.jar), and trying to figure out where is the jetty classpath.

  • Differing Web Service responses between 10.1.3.3 and 11g

    In our production environment we have deployed several ESB projects. I am currently going through these projects and attempting to update them to 11g. These projects follow the same basic design. In the 101.3.4 environment they consist of an exposed routing service generated from a schema document which routes to a Web service adapter. The exposed service is called from our asset management system the service adapter is invoking a PeopleSoft Asynchronous one way web service. In 11g this became two web service adapters (the first as an exposed one-way service) linked by a mediator.
    In our 101.3.4 environment this process worked without exceptions. After upgrading the project our asset management system would raise an exception after each call to the exposed service. Interestingly I can check em and also PeopleSoft and the payload is successfully delivered. When I review the instance in em there are no faults or exceptions. I have auditing turned on and can see that the service, mediator and reference steps have all successfully completed. When I look at the log for the particular instance I do receive a warning which states:
    Error parsing envelope: most likely due to an invalid SOAP message.: Unexpected EOF in prolog\r\n at [row,col {unknown-source}]: [1,0]
    I used soapUI to debug the service calls. If I call the PeopleSoft web service without using the mediator project I receive the following response:
    Tue Aug 18 20:55:37 PDT 2009:DEBUG:<< "HTTP/1.1 200 OK[\r][\n]"
    Tue Aug 18 20:55:37 PDT 2009:DEBUG:<< "HTTP/1.1 200 OK[\r][\n]"
    Tue Aug 18 20:55:37 PDT 2009:DEBUG:<< "Date: Wed, 19 Aug 2009 03:57:01 GMT[\r][\n]"
    Tue Aug 18 20:55:37 PDT 2009:DEBUG:<< "Content-Length: 0[\r][\n]"
    Tue Aug 18 20:55:37 PDT 2009:DEBUG:<< "Content-Type: text/xml; charset=UTF-8[\r][\n]"
    Tue Aug 18 20:55:37 PDT 2009:DEBUG:<< "X-Powered-By: Servlet/2.4 JSP/2.0[\r][\n]"
    When I call the exposed service in my 10.1.3.4 ESB project I receive the following response:
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "HTTP/1.1 200 OK[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "HTTP/1.1 200 OK[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "Date: Wed, 19 Aug 2009 03:57:25 GMT[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "Content-Length: 212[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "Content-Type: text/xml;charset=utf-8[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "X-Powered-By: Servlet/2.4 JSP/2.0[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "[\r][\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">[\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< " <soapenv:Body/>[\n]"
    Tue Aug 18 20:57:26 PDT 2009:DEBUG:<< "</soapenv:Envelope>"
    You will notice that what is returned is a soap envelope which has an empty body.
    If i then make the call through the 11g exposed service I get the following response:
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "HTTP/1.1 202 Accepted[\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "HTTP/1.1 202 Accepted[\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "Date: Wed, 19 Aug 2009 03:58:46 GMT[\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "Content-Length: 0[\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "Content-Type: [\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "X-ORACLE-DMS-ECID: 0000ICkncqY0bq3pzk8DyW1ANuRl000035[\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "X-Powered-By: Servlet/2.5 JSP/2.1[\r][\n]"
    Tue Aug 18 20:58:46 PDT 2009:DEBUG:<< "[\r][\n]"
    I believe the exception being thrown by the asset management system is a result of the zero length, empty content-type being returned from my mediator service or possibly the fact that the return code is 202 as opposed to 200.
    First I would like to know if anyone has experienced the same behavior and whether this behavior is by design. Is a response required from all services even if they are one way?
    Second if this is by design is it possible within the mediator project to force a return code of 200 and a response that includes an empty soap envelope?
    Of course any other solutions are welcome as well. I am leaning towards a solution which can be implemented within my mediator project as I have much more flexibility there then either of the other participating systems.
    Thank you very much.

    After exploring this issue with Oracle Support and doing some of my own research I believe that the issue is not the SOA Suite but rather the third party system which was calling exposed service in the SOA Suite. According to the link below both the response returned from the 10.1.3.4 esb project and the 11.1.1.1 mediator project are valid. What is returned from calling a one-way service appears to be up to the implementer of the service.
    http://www.w3.org/TR/2006/NOTE-soap11-ror-httpbinding-20060321/
    "This SOAP 1.1 request optional response HTTP binding, in conjunction with the SOAP 1.1 binding [SOAP 1.1], can be used for sending request messages with an optional SOAP response. This binding augments the SOAP 1.1 binding by allowing that the HTTP [RFC 2616] response MAY have a 202 status code and the response body MAY be empty. Note that the HTTP [RFC 2616] specification states "the 202 response is intentionally non-committal" and so any content in the response body, including a SOAP Envelope, MAY not be an expected SOAP response"

  • Accessing BPEL processes via a proxy web service performance issues

    Hello,
    I have more BPEL processes implemented, each such a process implementing business functionality in a certain domain (generally, a domain has more business processes).
    The request was to provide a single web service for each domain. It means that all the business methods (processes) in the same domain should be accessed through the same web service. This request doesn't make possible to expose the BPEL processes themselves as web services that could be directly consumed by different clients of the application.
    The alternative will be to implement the "domain" web services through a Java class, for instance. With this approach, the Java based domain web services will expose the needed business methods to the clients. And the Java class will get the request input parameters and will call the corresponding BPEL process via SOAP. This scenario would be fine, but... this approach would imply a supplementary marshalling/unmarshalling process at the domain web service level. The data returned by the BPEL processes could be very large and in such a situation the Java based domain web service will introduce an important performance drawback.
    Is there any other solution to this case that will allow the using of a "proxy" domain web services that will not introduce any important drawback via marshalling/unmarshalling?
    Many thanks in advance!
    Regards,
    Marinel

    Hello,
    First, thank you Sandor for your answer.
    I understand that it is possible to create a BPEL process that exposes multiple operations/messages. This would be exactly what I need: a single process (web service) that will expose many operations. Could anyone, please, point me to such an example?
    So far I thought that there is possible to have only one operation exposed with a BPEL process, what is delimited between the receive/reply blocks (in the synchronous case).
    Regards,
    Marinel

Maybe you are looking for