Double precision formatting in web service messages

I currently have a value passed in the response of a web service that represents a currency value. Right now I have it defined as a double type in xsd. Every time I return a value such as 12.00 the value gets truncated to 12.0. And if I have a value of 12.01, the entire number is returned. What is the best way to make sure the value is always two decimal places for the returned value?
Or does the client side have to know if the number is 12.0, then the second decimal is 0 etc?

I think its working i redefined the web service call and was able to use it with no problems - except when I try to substitute a form variable into the call. The webservice actuals does not substitute the variable.
So this is the webservice call that I set up - and what ends up in the database is "#P72_NAME#" instead of what is in the field
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.remp.web.sas.dataimport.type">
<soapenv:Header/>
<soapenv:Body>
<com:registerCompound>
<String_1>#P72_NAME#</String_1>
<Double_2></Double_2>
<String_3></String_3>
</com:registerCompound>
</soapenv:Body>
</soapenv:Envelope>

Similar Messages

  • Which Web Service message formats are supported?

    Hi,
    From the documentation it looks like only SOAP binding 1.1 is supported but nothing is mentioned about the supported message formats, e.g. Document literal (wrapped/bare), rpc-encoded, rpc-literal. etc. Does anybody know which are supported?
    Regards Pete

    Hi,
    I opened a SR on Metalink and got this answer:
    ApEx supports only RPC/literal style. The current support for Web services was designed to work with RPC style Web services nearly three years ago. We (
    ApEx development/product management) are reviewing enhancement to more broadly support Web services and hope to have that support in a future release.
    For the current support of Web services in Oracle Application Express, a design decision was made to support only WSDL’s that use the W3C XML Schema specification as it
    is data type system. Just converting a Web service to RPC style is not all that is required to make it work properly with Application Express. It also must use the XML Schema specification as its data type system and prefix those type references, with the same prefix as the XML Schema reference in the definitions declaration in the WSDL.
    Oracle Application Express expects type declarations to be fully qualified with the same prefix of the reference to the XML Schema specification as in the WSDL’s definitions declaration (http://www.w3.org/2001/XMLSchema). If the WSDL contains type references that are not qualified with the prefix of the XML Schema specification, then editing the WSDL to include these type references with the corresponding prefix will allow Oracle Application Express to properly parse the WSDL.
    Support for more loosely defined types is planned for a future release of Oracle Application Express.
    Regards Pete

  • How can i records with date format using web services?

    Hello
    I can't record date records using web services. I get no message errors.
    I can import string values but no dates (YYYY-MM-DD). Do you have any clue about that?
    Regards
    Arturo

    hello,
    That's the code I'm using to update an opportunity. In the date fields (e.g. dFecha_de_entrega_al_cliente) I've tried to put an specific date in the correct format (If i put it in another format i've got an error message due the wrong format). The CRM accepted the code but it didn't update the values that are different of string.
    I don´t know if there is something missing in teh program or if the developer environment is not the adequate.
    Regards for your comments
    Arturo
    Private Sub ActualizarOportunidad(ByVal fila As Data.DataRow, ByVal TipoPersona As String)
    Dim oLog As New Log()
    Dim IdLog As Integer
    Dim NumSerie As String = ""
    Try
    oLog.Insert_Log("Activación Garantía - Crear Oportunidad", oLog.GetLastIdProceso())
    IdLog = oLog.GetLastId()
    Dim sr_input As Opportunity.OpportunityUpdate_Input
    Dim sr_output As Opportunity.OpportunityUpdate_Output
    sr_input = New Opportunity.OpportunityUpdate_Input
    Dim sr(1) As Opportunity.OpportunityData
    sr(0) = New Opportunity.OpportunityData
    NumSerie = fila("NumeroSerie").ToString().Trim()
    sr(0).ExternalSystemId = NumSerie
    sr(0).OpportunityName = fila("NumeroSerie").ToString().Trim()
    sr(0).SalesStage = "Deseo" '"Cerrada/Ganada"
    sr(0).dFecha_de_entrega_al_cliente = fila("FechaEmision").ToString().Trim()
    sr(0).dFecha_de_facturacin_al_cliente = fila("FechaCompra").ToString().Trim()
    sr(0).stNro_Factura = fila("NumeroFactura").ToString().Trim()
    sr(0).plActividad_Economica = fila("IdActividad").ToString().Trim()
    sr(0).plTipo_de_Venta = fila("TipoCompra").ToString().Trim()
    sr(0).CustomObject8ExternalSystemId = fila("ApellidoVendedor").ToString.Trim()
    'sr(0).CustomObject8ExternalSystemId = IIf(TipoPersona = "J", fila("DocumentoE").ToString().Trim(), fila("Documento").ToString.Trim())
    'sr(0).CustomObject7ExternalSystemId = fila("")
    Dim lofsr As Opportunity.ListOfOpportunityData
    lofsr = New Opportunity.ListOfOpportunityData
    lofsr.Opportunity = sr
    sr_input.ListOfOpportunity = lofsr
    sr_output = oOpportunity.OpportunityUpdate(sr_input)
    oLog.Update_Log(IdLog, "Si", NumSerie, "")
    Catch ex As SoapException
    Me.txtError.Text = ex.Detail.InnerText.ToString()
    oLog.Update_Log(IdLog, "No", NumSerie, ex.Detail.InnerText.ToString())
    End Try
    End Sub
    ************************************************************************

  • String formatting and web service testing

    Hi
    I need to create a web service test where I pass todays date formatted as yyyy-mm-dd. I'm assuming that I need to use VBA to format the script but can't get the eTEst script to use my VBA function. Please could someone provide a step by step explanation of how to do this.
    Many thanks
    Huw

    Huw,
    Do the following:
    1. start the Databank Wizard
    2. create a new variable
    4. map this variable to the parameter you want to substitute with today's date
    5. switch to Data Binding tab
    6. create a databank file. It can be single-column file with any (bogus) data.
    7. bind that only databank field with the variable created in step 2
    8.complete the Wizard
    9. open VBA Editor for the page preceding the page containing the parameter to be substituted with today's date (so, if the parameter is on page 3, open VBA Editor for page 2)
    10. in RSWVBAPage_afterPlay add the follows:
    RSWApp.RSWApp.SetDataBankValue "var", sValue
    where var - is the variable created in step 2 and sValue - is the variable containing today's date
    Now, when you play the script back "with databank", the value assigned to sValue will be used instead of hard-coded databank value.
    Message was edited by: eginzburg

  • Suggestions for Chunking Large Outbound Web Service Messages from BPEL

    We have a problem today when Oracle EBS sends a large amount of data to BPEL, BPEL processes that data and then attempts to pass that data as a web service via a partner link to the PeopleSoft integration broker. When the message is too large ( > 10,000 records or so) we are hitting some issues on the PeopleSoft web server side being unable to receive that large of a message.
    "allocLargeObjectOrArray - Object size: 32768016, Num elements: 8192000"
    We are considering adjusting the BPEL program to chunk the outbound data being sent to PeopleSoft. The idea would be to use some type of loop and just break after so many lines, transmit the current message and then start a new message.
    The PeopleSoft integration broker has a setting, for outbound type integrations, that can enable an automated chunking feature called ‘Max App Message Size’. I was wondering, does BPEL have a similar configuration setting that might provide this feature? I’m dreaming up that this could be a property of the partner link object that could allow you to specify a certain ‘max size’ and then it would just know to start a new message at that threshold. That might avoid us having to make any additional BPEL code changes at this point.
    Currently using version 11.1.1.1.
    Any advice, much appreciated.
    Regards,
    Ken

    I have found the following tutorial that implements something similiar to what I am trying to do: http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/odi/10g/10135/odiscenario_bpelcallback/odiscenario_bpelcallback.htm#t3
    Because of this, I am now confident that the conversation IDs can be used to achieve correlation. I have implemented the pattern by performing
    an invoke activity on the web service, passing the result of ora:getConversationId() as part of the message. The conversation Id returned is of UUID-Form.
    After the invoke activity, I have added a pick activity to receive the response message supplied by the web service through IDeliveryService.post(...). I can see that the message is received correctly by loooking at the contents of DLV_MESSAGE. However, the pick activity times out every time (after 10m). Looking at DLV_SUBSCRIPTION reveals that the conversation_id for the pick/receive activity is set to a value of the form bpel://localhost/default/MyBpelProcessName~1.0/7610001-BpInv0-BpSeq2.7-2. As far as I know, this should instead be set to the UUID that ora:getConversationId() returned before performing the invoke activity. What is going wrong here?
    Thanks for your help!

  • Office 365 Reporting Web Service Message Trace - It says it can get the past 30 days but i can only get the past 7 days

    It says Message Trace data is stored for 90 days here: http://technet.microsoft.com/library/jj723162(v=exchg.150).aspx
    When running the MessageTrace report using the Office 365 Reporting Web Service it only returns the past
    7 days, even though it says up to 30 days here: http://msdn.microsoft.com/en-us/library/office/jj984335(v=office.15).aspx.
    PowerShell’s "Get-MessageTrace" cmdlet only returns the past 7 days as well. PowerShell also has
    an alternative cmdlet called "Start-HistoricalSearch" which returns the MessageTrace results between 7 and 90 days old.
    Is it supposed to return 30 days, or is the documentation wrong, or is their an alternative report (like
    PowerShell) to get MessageTrace results for over 7 days using the Office 365 Reporting Web Service?
    Note: I'm aware that the results are returned in batches of 2000 MessageTrace results.

    That document is pretty old last modified March 2013 so I would say it's out of date. The reporting services are still pretty new in the current release I believe 7 days is limit for the Rest Endpoint and the Get-MessageTrace cmdlet (which is what
    the more recent documentation around message tracking say) there is no REST endpoint for Start-HistoricalSearch you can see all the current endpoints by looking at the Metadata via
    https://reports.office365.com/ecp/reportingwebservice/reporting.svc/$metadata
    These services are evolving so new features and reports are added which is explained in
    http://msdn.microsoft.com/EN-US/library/office/jj984346(v=office.15).aspx . But there is no public information on Timeframes and what reports and features are going to be added in future updates (that I know of). If you need data older then
    7 days then Automating the HistoricalSearch cmdlets would be the way to do it for now.
    Cheers
    Glen
     

  • Monitoring/Viewing Web Service Messages in GlassFish

    Hello,
    I try to monitor the messages a Web Service produces in the admin GUI in GlassFish (v2 ur2): MyWebService -> Monitor -> Messages.
    However, no messages are listed in spite of a successful activation of the Web Service.
    The monitoring level in the configuration is set to 'HIGH'.
    Any ideas ?
    Thanks for your help.
    Regards

    Hi
    it's me again.
    OK, I made a significant progress, I used Perl's SOAP::Lite which apparently does not understand the document/literal wsdl style.
    So, I'm using a Perl package which does support document/literal and now I get error messages.
    The problem now is that the package is looking for xsd prefix in the wsdl+xsd files, and JAX-WS wsgen tool placed the prefix xs in these files.
    I tried to manually fix this, but when deploying the war file to glassfish I get "new" wsdl+xsd file with the xs prefix again.
    Can I somehow configure JAX-WS (or glassfish) to put a different prefix?
    It's so frustrating to spend so much time on such problems.
    Thanks
    Sigal

  • Complete web service message not showing next operation

    Hi,
    When sending Xchange complete message, the response shows the next operation. But when using web service for complete the response shows the next queue operation as the same as I have done complete for. Have anybody seen this before and know a solution? I have tested both in 5.2 and 6.0
    <PRODUCTION_REQUEST>
       <COMPLETE>
          <SFC_LIST>
             <SFC>
                <SITE>KRHALL</SITE>
                <ID>SE11410000</ID>
                <RESOURCE>X-LINE</RESOURCE>
                <OPERATION>SM2</OPERATION>
                <USER>JONORD</USER>
             </SFC>
          </SFC_LIST>
       </COMPLETE>
    </PRODUCTION_REQUEST>
    <PRODUCTION_RESPONSE>
      <COMPLETE>
        <SFC_LIST>
          <SFC>
            <ID>SE11410000</ID>
            <ITEM>3EST000215-9384</ITEM>
            <ROUTER>3EST000215-9384</ROUTER>
           <STEP_ID>021</STEP_ID>
           <REWORK>false</REWORK>
           <QTY>1</QTY>
           <TIMES_PROCESSED>1</TIMES_PROCESSED>
           <STEP_COMPLETED>true</STEP_COMPLETED>
           <DONE>false</DONE>
           <DATE_TIME>2012-02-22T14:59:19.320Z</DATE_TIME>
          <QUEUED_STEPS>
             <QUEUED_STEP>
               <ROUTER>3EST000215-9384</ROUTER>
               <STEP_ID>030</STEP_ID>
               <OPERATION>AOI</OPERATION>
            </QUEUED_STEP>
         </QUEUED_STEPS>
       </SFC>
    </SFC_LIST>
    </COMPLETE>
    </PRODUCTION_RESPONSE>
         <me:CompleteRequest_sync>
             <me:CompleteRequest>
                <me:SiteRef>
                   <me:Site>KRHALL</me:Site>
                </me:SiteRef>
                <!1 or more repetitions:>
                <me:SfcRequest>
                   <me:SfcRef>
                      <!You may enter the following 2 items in any order>
                      <me:Sfc>SE1141000A</me:Sfc>
                   </me:SfcRef>
                   <me:ResourceRef>
                      <!You may enter the following 2 items in any order>
                      <me:Resource>X-LINE</me:Resource>
                   </me:ResourceRef>
                   <me:OperationRef>
                      <!You may enter the following 3 items in any order>
                       <me:Operation>SM2</me:Operation>
                      <me:Revision>#</me:Revision>
                   </me:OperationRef>
                   <me:UserRef>
                      <!You may enter the following 2 items in any order>
                      <me:UserId>JONORD</me:UserId>
                   </me:UserRef>
                </me:SfcRequest>
             </me:CompleteRequest>
          </me:CompleteRequest_sync>
             <ns2:CompleteResponse>
                <ns2:SfcResponse>
                   <ns2:DateTime>2012-02-22T16:45:22.319+01:00</ns2:DateTime>
                   <ns2:Done>false</ns2:Done>
                   <ns2:ItemRef>
                      <ns2:Item>3EST000215-9384</ns2:Item>
                      <ns2:Revision>03</ns2:Revision>
                      <ns2:SiteRef>
                         <ns2:Site>KRHALL</ns2:Site>
                      </ns2:SiteRef>
                   </ns2:ItemRef>
                   <ns2:Quantity>1</ns2:Quantity>
                   <ns2:QueuedStep>
                      <ns2:OperationRef>
                         <ns2:SiteRef>
                            <ns2:Site>KRHALL</ns2:Site>
                         </ns2:SiteRef>
                         <ns2:Operation>SM2</ns2:Operation>
                         <ns2:Revision>1</ns2:Revision>
                      </ns2:OperationRef>
                      <ns2:RouterRef>
                         <ns2:SiteRef>
                            <ns2:Site>KRHALL</ns2:Site>
                         </ns2:SiteRef>
                         <ns2:Router>3EST000215-9384</ns2:Router>
                         <ns2:Revision>03-02</ns2:Revision>
                         <ns2:RouterType>U</ns2:RouterType>
                      </ns2:RouterRef>
                      <ns2:StepId>021</ns2:StepId>
                   </ns2:QueuedStep>
                   <ns2:Rework>false</ns2:Rework>
                   <ns2:RouterRef>
                      <ns2:SiteRef>
                         <ns2:Site>KRHALL</ns2:Site>
                      </ns2:SiteRef>
                      <ns2:Router>3EST000215-9384</ns2:Router>
                      <ns2:Revision>03-02</ns2:Revision>
                      <ns2:RouterType>U</ns2:RouterType>
                   </ns2:RouterRef>
                   <ns2:SfcRef>
                      <ns2:Sfc>SE1141000A</ns2:Sfc>
                      <ns2:SiteRef>
                         <ns2:Site>KRHALL</ns2:Site>
                      </ns2:SiteRef>
                   </ns2:SfcRef>
                   <ns2:StepCompleted>true</ns2:StepCompleted>
                   <ns2:StepId>021</ns2:StepId>
                   <ns2:TimesProcessed>1</ns2:TimesProcessed>
                </ns2:SfcResponse>
             </ns2:CompleteResponse>

    Hi,
    I have now raised a ticket for this issue.
    Br,
    Johan

  • EWPS - web-service messaging queue

    Hi,
    We have deployed EWPS webservice and tested through SOAP-UI interface. This is tested successfully.
    But the issue that we are facing is whenever we go into the iDocumaker web page ; the SOAP UI is getting error out with the following message
    "Native Library C:\docclnt\MSMQLIB.DLL already loaded in another classloader"
    Is it that we can use only the "message-queues" only for one application ? Or, we need to define a different message queue for EWPS ?
    Thanks..

    Hi Pradip,
    The message queues provide a decoupled integration between your applications (e.g. iDocumaker and EWPS) and the back-end services, brokered by Docupresentment (IDS). Even though iDocumaker runs on the backend servers, it is still treated as a client to Docupresentment much like EWPS - both use IDS client communication APIs to interact with the message queues. The idea is that many applications (think multiple users of a web application, or multiple users of a thick-client application) are able to interact with the back-end services using the queues without causing overload on the back-end servers.
    So, the short answer is that using queues is a way to provide scalable infrastructure that allows many applications to interact with the back-end services. In general, the products (iDocumaker, EWPS, IDS) are configured in such a way as to prevent users from accessing items that are in-use by other users.
    If this doesn't adequately answer your question, we'll probably need additional details.
    Thanks!
    -Andy

  • Getting 2D array of data in tabular format using web services

    Hi all,
    I was trying to fetch data from MS access database and populate the same 2D array of data on my web browser. But unfortunately it says that the 2D array is not a "supported data type" for web applications and hence the 'build fails'.
    I would like to know if there is any method to represent my 2D data in a tabular format in my web broweser using the webservices. Needless to say, it can give such a good readiability!!!

    ShoaibM wrote:
    Hi vladodias!
    I have implemented your solution and it works fine. :D Your solution would work as well, but it is bad in performance... See this...
    http://docs.oracle.com/cd/E23943_01/core.1111/e10108/osb.htm#BABFHCDF
    >
    What my question is why I was not able to access particular element( E.g. 1st location of RecAdvGrp Array ).... ?? You should be able to do ./ReceiptAdviceRoot/ReceiptAdvGrp[1]/SYSHAN, and even ./ReceiptAdviceRoot/ReceiptAdvGrp[$index]/SYSHAN
    >
    And Why my forEach $index variable was not accessible inside the Insert Activity....??? What make you believe it wasn't accessible? I reckon you were just not doing the right xpath expression...
    >
    ---how do you format your coding segment differently( background ) ...?? :)See the Forum FAQ bellow, search for "useful formatting options"
    https://wikis.oracle.com/display/Forums/Forums+FAQ
    Cheers,
    Vlad
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts)
    https://forums.oracle.com/forums/ann.jspa?annID=893

  • How to create Web Service based on PI WSDL message

    Hi all,
    we have following scenario:
    Within PI (version 7.1) we set up a message type and inbound service interface. This service interface should send the PI message to a web service running on a SAP J2EE (version 7.01). As the PI message is sent as WSDL I thought it should be easy to build a web service on the SAP J2EE based on this WSDL from PI.
    Unfortunately, I have problems creating the Web Service.
    For my current project we integrated the NWDI to the SAP NetWeaver Developer Studio and I'm required to add the Web Service to an existing DC (Development Component) within the NWDI.
    What I tried so far is:
    - I created a Deployable Proxy Project and within this I created a Client Proxy Definition based on the WSDL from the PI. But I can't add this Proxy to the DCs of the NWDI and I don't know how to implement my own coding here in order execute specific functions.
    - I created a new class within the NWDI DC and a public method. Based on this I created a Virtual Interface and a Web Service Definition (WSD). Then I added this to a Web Service Deployment Descriptor. I uploaded this to the SAP J2EE. But I'm not able to access this and I don't know hoe to assign the WSDL here.
    I also tried here to create a client proxy based on this WSD as I thought I might assign the WSDL here. But I don't see the WSD in the list of Web Services uploaded to the SAP J2EE...
    Can you please advice me how to create a Web Service in such an environment?
    regards
    René Jurmann

    Hi Tahir,
    sorry that you needed to wait this long - but this is how I created the web service:
    The steps on how to create the web service in NetWeaver Developer studio are nearly the same as described in the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5838. [original link is broken] [original link is broken] [original link is broken]
    Some steps I just skipped and some others I added. Some of the steps I did the way I described it as I needed to connect the web service with the SAP PI.
    Prerequisites:
    Add Java Perspective and J2EE Development Perspective to the open perspectives.
    Within "Window - Preferences - Web Services" check "Soap extensions visible in the virtual interface editor"
    The SDM of the corresponding SAP J2EE is configured within "Window - Preferences"
    Create a Development Component (DC) with type "J2EE -> EJB Module"
    The business logic of the web service will be implemented in an Enterprise Java Bean (EJB). So first the EJB component must be created:
         Choose "File -> New -> Other"
         In opening PopUp choose "Development Component -> Development Component Project"
         Select the Software Component for which you want to add the DC (e.g. "Local Development -> MyComponents")
         Choose now vendor, name and type:
              vendor is an alpha-numeric string of 20 characters starting with a letter - all in lower case
              name is an alpha-numeric string starting with a letter - all in lower case
              vendor and name concatenated must not be longer then 40 characters
              the name can be separated into different part using "/" as separator
              each part of the name must not be longer than 8 characters
              the type is "J2EE - EJB Module"
              you can specify a Caption as general description for the web service
    Create new EJB
    To create the EJB itself:
         In J2EE DC Explorer of J2EE Development Perspective expand new DC and right-click on folder "ejbModule"
         Choose "New - EJB" with following details:
              EJB Name: <name as for PI service Interface to be created - starting in upper case>
              EJB Project: <pre selected>
              Bean Type: Stateless Session Bean
              Default EJB Package: <corresponds to namespace in PI>
              generate default interfaces: Checked
    Regarding the "Default EJB Package" this should be created according the namespace in PI for which all PI objects will be created. This only applies if you have some naming conventions here.
    Example:
    Namespace in PI is:  http://company.net/pi/SOFTWARE_COMP/Application
    The corresponding package then is: net.company.pi.software_comp.application
    Implement coding for web service
    As the web service will be called via PI some transfer variables will be submitted. Most likely, those variables will not be standard type (e.g. String) but a complex type. Those types must be generated as Java classes. Below an example of a complex type I needed:
    Data Type
    net.company.pi.software_comp.application.types.MessageProcessingInformation
    Structure:
         Element name          Element type
         sendingSystemID          String
         interfaceID               String
         businessProcessVariantCode     String
         testIndicator               Boolean
    For every element described a public "get", "set" and "has" method must be created in the corresponding Java class:
    package net.company.pi.software_comp.application.types;
    import java.io.Serializable;
    public class MessageProcessingInformation implements Serializable {
         protected String sendingSystemID;
         protected String interfaceID;
         protected String businessProcessVariantCode;
         protected Boolean testIndicator;
         public String getSendingSystemID() {
              return sendingSystemID;
         public void setSendingSystemID(String value) {
              this.sendingSystemID = value;
         public boolean hasSendingSystemID() {
              if(sendingSystemID != null && !sendingSystemID.equals("")){
                   return true;
              return false;
    All Java classes representing complex types and all classes referenced here (used for sub-types) must implement java.io.Serializable. Java standard types which do not implement this class must not be used as sub-types.
    As soon as all data types are declared the real business logic can be implemented:
         In J2EE DC Explorer of J2EE Development Perspective expand DC - "ejb-jar.xml" - <Name> and double click on "ejbCreate"
         In detail view select folder "Business Methods" and click "Add"
         choose name of business method - this should be the same as the PI message type used for the service interface - starting lower case
         return type should be "void"
         add needed parameters fully qualified - including package (as specified in PI and created previously in DC)
         you can mark certain parameters as array if necessary
    Remark:
    It might be that after saving you get an error. This might be as the package name of one component is copied to the corresponding Java class at the very beginning (before the package declaration within the Java class). Simply delete the string here.
    It also might be, that the new business method is only defined in the remote interface class but not in the bean class. Just create an according method in the bean class.
    Within the newly created business method within the bean class you can now implement the business logic.
    Create a DC with type "J2EE -> Enterprise Application"
    In order to create the "real" web service and deploy it to the J2EE an Enterprise Application project has to be created. So create a new DC as for the EJB Module but choose as type "J2EE -> Enterprise Application".
    After the DC is created right click on the EJB DC and choose "Add to EAR Project". Choose the new DC.
    Create web service for EJB
    As soon as you implemented the business logic you can create the "real" web service. Therefore:
         Right click on the EJB name below "ejb-jar.xml"
         Choose "New - Web Service"
         Choose proper "Web Service Name" and "Configuration Name" (probably oriented at the EJB name)
         Copy the URL of the web service - you'll need it later for PI configuration
         on the second next screen use the same name for "Virtual Interface" and "Web Service Definition" (the name should be the name of the "Endpoint")
         the "EAR Project" should be preselected
    Unfortunately, the web service can't be used in its current configuration to be accessed by PI. Therefore the Virtual Interface must be changed. To do so, expand folder "Virtual Interfaces" and double click the virtual interface created.
    Within the detail view expand in tabs "Mapping" and "Types" the complete folder structure. For any "SOAP Extension" where a namespace can be defined use as namespace the corresponding namespace in PI (e.g. http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/BillerDirect) but do not change any "Soap Extension" of a standard Java type. (if you don't have any naming convetions for namespaces in PI you can leave the SOAP Extension here. But then the namespace in PI should be set accordingly.)
    Probably it can be necessary on top level "Soap Extensions" in tab "Mapping" to leave "Use Namespaces for Parameters" unchecked. For some of my web services this parameter must be checked for others not - just try.
    If you can define a "New Name", "Local Name" or "Item Label" for a Soap Extension then use a name with starting upper case letter. (For Java Naming conventions most of the data type names will start with lower case letters.) Especially the method name must be renamed this way in order to stick to the PI namings.
    As a last point to change here check in tab "Mapping" all "Incoming Parameters" which you specified as array. Use for those as "New Name" a different name - do not just simply change from lower case to upper case. This is necessary as on PI we need to create two levels although here only one is specified.
    For any own sub-type declared as array the name within the coding should also differ from the corresponding Java Class name the type refers to.
    If all this is done you can deploy the web service to the J2EE:
         right click on "Enterprise Application" DC and choose "Development Component - Build..." and build all corresponding components
         right click on "Enterprise Application" DC and choose "Development Component - Deploy"
    Test the new web service via <J2EE URL>/wsnavigator/enterwsdl.html
    Create PI interface
    After the web service is created successfully the PI integration can be started.
    Therefore, within the Enterprise Services Builder create a data type according to the web service definition. All components defined on top-level for this data type should be declared as incoming parameter for the web service business method. Therefore it could be necessary to create some sub data types on PI first and add those to the "master" data type.
    Ensure that the names of the components correspond to the names defined in the web service (see virtual interface here). Those names must exactly be the same - including lower/upper case. Also take care for the ordering of the components.
    In case you need to include arrays following applies:
    The upper level is of occurrence "1:1". This has only one sub-entry with occurrence "1:n". The names for upper and sub-level must not equal.
    Based on the data type a message type is created. The name of the message type must be exactly the same as the name of the web service business method. (Hint: the name of the web service business method was most likely changed in the virtual interface. Then this name must correspond to the message type name.) Based on the message type an asynchronous inbound interface is to be created (which will be referred in the Integration Directory). The operation name for this interface (left panel) should be the same as the name for the web service business method.
    Create PI mappings and routings
    How to map (message mapping and operation mapping) from source to the web service message I wont explain here as this depends on the source message. The only important things here are:
         When creating the SOAP communication channel within the Integration Builder the "Target URL" is:
              <J2EE URL>/<Access URL as specified in web service creation>?wsdl&style=document
         The soap action is the name of the web service business method.
         Most likely the web service needs authentication to be executed.

  • Getting error-"Process Access denied" while invoking Process as web service

    Hi,
    I have a very simple Business Process, just to take some input & give some String as output. I published this BP as web service on Oracle BPM - Process Administrator. I got its WSDL also. I can invoke startSession operation. But when I invoke the operation that is exposed by BP as web service, I am getting an error - "Process Access denied".
    Please help to solve the issue, as I need it urgently.
    Thanks,
    Sujata

    Hi Ariel,
    Thanks for reply and sorry for delay on updating status. Actually our process server was having a problem, so I could not check the same in last 4 days. Now coming to the point....
    I changed Process web service by changing authentication type as "Usernname token profile". I have not checked "Required HTTP Basic Authentication". As you said, WSDL got changed, it has removed startSession(). But when I invoke my actual operation, I am supposed to send authentication data (user name & password) in header.
    I tried to send correct authentication info in header. But still I am getting an exception.
    soapenv:Server.generalException - WSDoAllReceiver: Request does not contain required Security header
    I feel header might be going wrong. I have taken header format from web service guide. I am attaching the entire request message taht I am sending, please tell me where I am going wrong...
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sim="http://bea.com/albpm/Sample/SimpProc">
    <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created> 2010-06-01T19:23:29.774Z </wsu:Created>
    <wsu:Expires> 2010-07-02T15:02:29.774Z </wsu:Expires>
    </wsu:Timestamp>
    <wsse:UsernameToken>
    <wsse:Username>bpr_user</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">bpruser12</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
    <sim:sayHello>
    <argInput>ss</argInput>
    </sim:sayHello>
    </soapenv:Body>
    </soapenv:Envelope>
    I cehcked with & without wsu:Timestamp. But same.....
    Please give your suggestion.
    Thanks
    Sujata

  • Web service client error

    Hello,
    I created new Web service client using WL 8.1, axis 1.4 , JDK 1.4.2 . The Service is hosted by my vendor and it's on asp/.net.
    I used axis to create stub implemetation and when i invoke the service , i get the following error . I googled out the error and i see lot of them complain this as an axis issue.
    Does anyone faced this error before ? or found an workaround for this?
    Error message :-
    2009-09-16 15:11:52,299] [DEBUG] [org.apache.axis.utils.XMLUtils] - Failed to set EntityResolver to null on DocumentBuilder
    java.lang.NullPointerException
         at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEntityResolver.java:61)
         at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDocumentBuilder.java:168)
         at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:252)
         at org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:342)
    Thanks in advance.
    Thanks,
    Subu

    You made proxy client not a client.
    I think u did not make any mistake to generate the proxy client but most probably ur web service-- message format is not rpc/encoded. Check it. hope u will succeed

  • SOAP/Web service based repository manager

    Hi,
    We would like to implement a repository manager using SOAP/Web service messages to connect to the document store.  The solution will have to support most opperations as the WebDAV repository manager supports.  TREX has to be able to crawl for indexing/classification, but I guess that is not a problem.
    Is the some information out there on creating repository managers like this, and how they tie in with ACL managers, cahces etc?
    Message was edited by: Bjorn Bjornstad

    Not relevant any more

  • Invoking a Web Service using XI 2.0

    Hi all,
    I am attempting to create a scenario where an SAP application invokes a web service through XI 2.0.
    I have created an ABAP proxy to allow my ABAP to start the call process and have set up the message interfaces within the Integration Directory.
    I want XI to receive a call from this proxy and then act as the client to an existing Web Service.. calling it and bringing back a response... but it doesn't look like I can import the existing WSDL as a I would have expected.
    So... instead I have exported the Message Interface for the "out of XI" portion of the interface as a WSDL and have asked the Web Service provider to amend their service according to this XI generated WSDL.
    My difficulty now is how to use the SOAP adapter. Within the Integration Directory I presumably need to define the endpoint with XI Connectivity but I am not sure how to fill in the URL address of the SOAP adapter...
    Any help on how to configure the actual SOAP adapter to fulfill this requirement would be great too.
    I have looked around the boards to see if I could work this out from previous posts but without success so far.
    It's a synchronous scenario and basically should look like...
    ABAP Proxy->XI->SOAP Adapter->Web Service->XI->ABAP Proxy
    Many thanks,
    Gordon

    Hi Gordon,
    here is an example for SOAP-Adapter config:
    # Bubble adapter java class
    classname=com.sap.aii.messaging.adapter.ModuleBubble
    # Sets the bubble module helper that can instantiate your bubble bag
    Bubble.Helper=com.sap.aii.messaging.adapter.ModuleBubbleHelperXMBWSImpl
    ###### Part 0 (FromWS and ToWS) : common part ######
    # Keeps the XMB headers in web service messages
    XMBWS.KeepHeaders=false
    # Encodes the xmb headers into a special HTTP header string x-xmb_ws_encoded
    XMBWS.UseEncoded=false
    # The target URL for the web service, to which the adapter sends web service messages.
    # The address is part of the WSDL
    XMBWS.TargetURL=http://www.extensio.com:8080/ExtensioInfoServer/servlet/rpcrouter
    # Proxy configuration from SAP
    XMBWS.proxyHost=PrOxY
    XMBWS.proxyPort=8080
    # The port and path where the adapter waits for XMB messages from clients.
    XMBWS.XMBPort=8400
    XMBWS.XMBPath=/soap/stockquote
    # The default SOAPAction HTTP request header to the web Service server
    # The SoapAction is part of the WSDL
    XMBWS.DefaultSOAPAction=
    Of course you have to set URL, proxy and SOAP-action to your belongings.
    You define the endpoint as:
    "http://<Adapter-Server>:<XMBPort><XMBPath>"
    in this example:
    "http://localhost:8400/soap/stockquote"
    Stefan

Maybe you are looking for

  • Printer Setup for HTML reports (Landscape)

    I'm trying to print an HTML report in Landscape, the Report Orientation VI only works with Standard Reports, and I can't find anything that will let me modify the "Printer Setup" Anyone done this?

  • How do I make multiple slideshows on multiple displays?

    I've got 2 x 30" displays, and the new Mac Pro on lend to me for a gallery showing. Whats the best way to make 2 different slideshows (HD) to play on each individual monitor at the same time?

  • My N8 nokia belle update failed

    I tried updating my N8 to nokia belle but failed. The download was successful but the backup failed. There was an error message (not ok) in front of the message backup and it kept restarting my phone. Please what's the solution?

  • Album artwork wont stay/save with song

    when i drag in my own .jpg artwork it will not stay with the song(s), if i remove it from itunes. when i add the song back in to itunes the artwork is gone. the song and artwork are still in the same directory and have not moved. this has never been

  • Slow playback on .wmv files...

    Hi all, I'm using QT 7.6.4 with the appropriate updated version of Flip4Mac, and I'm noticing that when I open a .wmv file, it takes awhile for the entire file to load. In previous versions, I could fast forward to any section of the video, but not I