Interfaces for Invoking services
Hi all,
I have to configure a scenario where i need to invoke web services from a third party system. I need to know what kind of interfaces will be involved (Inbound/outbound, sync/async) and how many?
Scenario:
SAP Work flow <> PI <> Third Party (Two Webservices)
based on the response from SAp Work Flow, i need to paas this resposnse to PI and then trigger one of the two webservices in the Third Party system.
Also i need to pass the response of web service back to SAP Work flow.
If you need any particular details, kindly let me know. I have kept it as simple as possible for quick reading.
Any help will be appriciated.
Thanks and best regards,
Kulwant Singh
Hi,
Refer these links:
Re: RFC-WEBSERVICE using BPM
/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2
http://help.sap.com/saphelp_nw04/helpdata/en/43/6211331c895f6ce10000000a1553f6/content.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5474f19e-0701-0010-4eaa-97c4f78dbf9b
SOAP 1 to RFC to SOAP2
SOAP:
SAP AII - How to consume and expose webservices ?
How to use SOAP adapter:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79.
Regards,
Nithiyanandam
Similar Messages
-
Oracle Service Bus 10.3 - split join how to set header for invoked service
In Oracle Service Bus 10.3 how can I set the header for the service being invoked. We make parallel calls to 2 different business services. One of the invoked service requires header to be set and I am unable to figure out how it can be done. Below are snippet of the code and WSDL.
--- Login Operation start ---
<operation name="login">
<wsdlsoap:operation soapAction="blah"/>
<input name="loginRequest">
<wsdlsoap:body use="literal"/>
<wsdlsoap:header message="passport:loginHeader" part="hppwsHeaderElement" use="literal"/>
</input>
<output name="loginResponse">
<wsdlsoap:body use="literal"/>
</output>
<fault name="genericFaultException">
<wsdlsoap:fault name="genericFaultException" use="literal"/>
</fault>
</operation>
--- Login Operation end ---
--- hppwsHeader Element --
<complexType name="hppwsHeaderElement">
<sequence>
<element maxOccurs="1" minOccurs="0" name="version" type="tns1:version"/>
<element maxOccurs="1" minOccurs="0" name="tx-id" type="tns1:tx-id"/>
<element maxOccurs="1" minOccurs="1" name="systemLangCode" type="xsd:string"/>
</sequence>
</complexType>
--- LoginRequest Element ---
<xs:element name="loginRequestElement" type="s0:loginRequestType"/>
<xs:complexType name="loginRequestType">
<xs:sequence>
<xs:element name="userId" minOccurs="1" maxOccurs="1" type="xs:string"/>
<xs:element name="password" minOccurs="1" maxOccurs="1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
--- LoginResponse Element ---
<xs:element name="loginResponseElement" type="s0:loginResultType"/>
<xs:complexType name="loginResultType">
<xs:sequence>
<xs:element name="sessionToken" minOccurs="1" maxOccurs="1" type="xs:string"/>
</xs:sequence>
</xs:complexType>
In Oracle Workshop for WebLogic when I create a split-join .flow file while adding the invoke service call to login operation I am prompted to create the loginRequest and loginResponse variables. I can assign the appropriate expression to loginRequest.loginRequestElement prior to making the invoke call but then the backend business call fails because "systemLangCode" is not defined and set. Actual fault is
<ns1:genericFault xmlns:ns1="http://hppcbl.globalops.company.com/webservice">
<systemLangCode>en</systemLangCode>
<fault>
<ruleNumber>589</ruleNumber>
<fieldName>systemLangCode</fieldName>
<code>field.empty</code>
<desc>System language code is required.</desc>
<ftype>2</ftype>
</fault>
</ns1:genericFault>
I would really appreciate if someone could guide me on how to resolve this
Regards,
-NilayThere is this $header variable which you should populate before calling the BS. What is the type of BS? If it is WSDL BS , Any Soap BS then above solution will work. I assume that yours is WSDL based BS and setting $header should resolve this issue.
AnyXML and Messaging type BS services requires that you create proper pay load (setting $header will not work).
There is also other actions Set Transport Headers {outbound request/inbound response} which can be used to set transport related headers but not soap headers.
Manoj -
I am not viewing message interface for sender service in sender agreement
Hi Experts,
Right now we have one interface setup in XI for sending the data to three customers using BPMs.
Now i want to add to one more customer in to current xi setup and send the data.
so i have created all the types like message type, message interface and interface mapping.
Already i have scenario in ID i have created Comm channles.
so when i create sender agreement i am unable to find message Interface which i have created in IR for sender business service.
I have not created new scenario but using the same scenario.
Kindly help me out from this.
Appreciate for your response.
Thanks,
BhaskerHi,
Make sure to add the inbound and outbound message interfaces in the Business Service so that they will be available in Sender Agreement.
Hope this helps.
Thanks and Regards,
Kalpesh -
Split-Join, unable to set SOAP:HEADER in OSB at Invoke Service Component.
Hi Experts,
i created a Split-join for parallel processing and invoke third party services, but this service requires some mandatory elements in soap:header like WS-Addressing and, WSA-TO and some security infomation, but i don't know how to pass header in invoke service step. Please help me to setup Header for Invoke services in split join.
Please help me to resolve this issue.
Thanks
Ankitsee this :https://forums.oracle.com/thread/951618
not the most fancy way, but you can create some sort of wrapper proxyservice in front of your business service to make it work -
Developement XI-Content for Enterprise Services
Hi,
What is XI-Content? And what must be defined in XI-Content for Enterprise Service Enabling?
We have defined some services as provider, these services are goint to be in XI-Content. But we are also requesting some infromation to business partner, these inforamtion could be services or messages in case our partner does not have services.
So my feeling is: in XI-Content we need to define:
Interfaces for the services which we provide;
Interfaces which we as consumer request?
Interfaces which from partner as provider?
Interfaces for the messages which are sending from partner?
Mapping between the service interfaces (provider <->consumer)
Mapping between the messages and the services?
I am sorry, but this is really confusing when we plan the development of XI-content.
Could you give me a clear picture or guideline according to your experience?
Thank you very much.
JingThis XI content is nothing but most commonly used integration scenarios for address specific business process requirements for a particular landscape.For Ex:Interface for Creating PO ,Sales Order etc.
I have read many articles which say that XI Integration Repository will be re-named as Enterprise Service Repository which will enable the customers to kick-start with Enterprise Services.SAP sets the ball rolling by providing 500 Enterprise Services.
As far as I understand these services are nothing but commonly used re-usable integration scenarios which are powered by Webservices.Enterprise Service Granularity depends on how you define your "Service".
You have an awesome article on ESA which explains in an excellent way.
Search the sdn for Enterprise Service Design Guide which can be an answer all your questions. -
hi ,
i am just using EJb in my Application
just created an SessionBean and with Local interface in it i am getting this wierd exception with weblogic NetBeans and eclipse also
weblogic.ejb.container.compliance.ComplianceException: No business interface, component interface or web service endpoint interface found for Session Bean SessionEJB
weblogic.ejb.container.compliance.ComplianceException: No business interface, component interface or web service endpoint interface found for Session Bean SessionEJB
at weblogic.ejb.container.compliance.SessionBeanClassChecker.checkInterfacesExist(SessionBeanClassChecker.java:177)
at weblogic.ejb.container.compliance.Ejb30SessionBeanClassChecker.checkInterfacesExist(Ejb30SessionBeanClassChecker.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at weblogic.ejb.container.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:331)
at weblogic.ejb.container.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:280)
at weblogic.ejb.container.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:789)
at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:222)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:461)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:428)
at weblogic.ejb.container.deployer.EJBDeployer.runEJBC(EJBDeployer.java:437)
at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:795)
at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:683)
at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1254)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:442)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
at weblogic.ejb.container.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:321)
at weblogic.ejb.container.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:280)
at weblogic.ejb.container.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:789)
at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:222)
at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:461)
Truncated. see log file for complete stacktrace
>Hi Rajendar,
I think the problem with having empty interfaces, or interfaces without methods for EJBs, is that they don't really make "sense". After deploying your EJB, a client application will use JNDI or dependency injection to access your EJB. So in your case it will look something like this
@EJB
mytestSSBLocal myejb; //(In this case we are using the local interface)
In the second step, you will want to do something will your EJB, but since mytestSSBLocal doesn't define any methods, there is nothing you can do with your ejb.
The Exception is telling you that weblogic couldn't find a complaint interface for your EJB.
best regards, Nicolas -
How to create Endpoints for Inbound Service Interfaces in PI?
Hi Gurus,
we have to publish Endpoint URLs for third party system, which have to send us SOAP Messages via HTTP. For this we need to publish Endpoints (Incoming into PI) for the third Party Systems.
I already tried to publish it out of the Sender Agreement, but this is only for Outbound Service Interfaces and not incoming. I Also tried to publish the WSDL out of the Service Interface Design, but there are no Endpoints supplied.
What can i do, to get incoming endpoints?>
Udo Buchter wrote:
> Hi Gurus,
>
> we have to publish Endpoint URLs for third party system, which have to send us SOAP Messages via HTTP. For this we need to publish Endpoints (Incoming into PI) for the third Party Systems.
>
> I already tried to publish it out of the Sender Agreement, but this is only for Outbound Service Interfaces and not incoming. I Also tried to publish the WSDL out of the Service Interface Design, but there are no Endpoints supplied.
>
> What can i do, to get incoming endpoints?
Once you generate the WSDL in that there will be an SOAP Action url where you can see the endpoint or the target to which message will be sent to...
only thing you need to provide them apart from WSDL is user credentials.. thats it..
they need to import the WSDL provided by PI in their application
Rajesh -
Service Interfaces for Credit Management using WS-RM
Hi,
We are implementing FSCM Credit Management on EHP 5 without using PI. For this we are WS-RM and have configured following service interfaces:
CreditCommitmentNotification_In
CreditCommitmentNotification_Out
CreditWorthinessQuery_In
CreditWorthinessQuery_Out
However, when we create sales order, credit check is not being perfomed. Do we need any other service interface for implementing Credit Management?Hello,
I am using ECC 6 ehp 5 Which Enables you to Implement FSCM services via WS-RM (Web Service Reliable Messaging) instead of having to use Previously PI.
I require to implement the scenario is:
Credit Management (FSCM) and Integration with FICA without requiring PI.
I think I have covered all the technical configuration, but do not know how to test credit management and integration with FI-CA, appreciate if you can do to get a guide.
As indicated by the WSRM configuration guide, run the report SRT_ADMIN_CHECK and the result is:
Cross-checking system settings
bgRFC destination is Operational
bgRFC destination is registered supervisor
WSRM event handler is activated
Task is active watcher
Data collector for monitoring is not activated
ICF All nodes are active for SOAP Runtime
Ending cross-check of system settings
thank you for your help.
Regards. -
Missing Inbound Interface under Edit Service for Business System
Hello All,
I have to configure a Scenario at Integration Directory. Import from IR already done.
When i try to configure a Service under Party\Service\Business System I am not able to find the special IDoc type (here) PROJECT:PROJECT01 under register card "Receiver" (Inbound Interfaces) for the SLD defined Business System.
How can i add the IDoc type here?
Many thanks in advanced?
Regards,
JochenHi,
please let me explain more in detail. All answer not really facing my problem.
At Integration Directory i want to create a Business System Service for a external incoming connection.
When i try to create under the Scenario e.g. "IS_WBSElements" the Service " BTS_Partner" under \Party\<partern>\Service\Business System\ at Display Service i couldn't find the IDoc Type PROJECT.PROJECT01. This will displayed at Display Services under Point Business System "Receiver" card (Inbound Interfaces"). There is a list of some Inbound Interfaces displayed with column Name, Namespace and Software Component Version.
When try to add a different Business System under Party\Service e.g. BTS_CCM i get much more Inbound Interfaces displayed incl. PROJECT.PROJECT01.
Perhaps there is a relation between Inbound Interface and the Business System?!
Many thanks in advance!
Regards,
Jochen -
About XML Parameter for Web Service invoking
I would like to use the XML parameter as the Web Service's input(Attachment is
the XML schema) in WebLogic Server 8 sp1. When I generated the Web Service and
use the WebLogic Server generate test web page to test it, I got Exception. The
WebLogic Server can't constructe the input XML.
The correct XML should look like this:
<ids>
<desc>Description</desc>
<id>1</id>
<id>2</id>
<id>3</id>
</ids>
Is there any one can tell me whether this kind of XML was permitted for Web Service
invoking or not?
[sample.xsd]Hi Andy,
On the test page, before the invoke of the operation, did it say
something like:
<!-- Do not know how to create a sample instance for this part due to
the following exception:java.lang.InstantiationException:
javax.xml.soap.SOAPElement. Pls replace this with the correct XML before
invoking the service. --->
if so, the service itself may be working OK, the deficiency is that the
test page tries its best to determine sample values for the invoke,
however it does not know in this case.
Did you try with a client?
Your XML should be fine.
Regards,
Bruce
Andy wrote:
>
I would like to use the XML parameter as the Web Service's input(Attachment is
the XML schema) in WebLogic Server 8 sp1. When I generated the Web Service and
use the WebLogic Server generate test web page to test it, I got Exception. The
WebLogic Server can't constructe the input XML.
The correct XML should look like this:
<ids>
<desc>Description</desc>
<id>1</id>
<id>2</id>
<id>3</id>
</ids>
Is there any one can tell me whether this kind of XML was permitted for Web Service
invoking or not?
Name: sample.xsd
sample.xsd Type: ACT Project (text/xml)
Encoding: base64 -
Interface for Service Item Sale Order
Hi Experts,
Can any one please help me on this issue i.e. While trying to use the insert command for OE_LINES_IFACE_ALL, Service item is unable to import for "customer" Service type. Please provide me the insert command to import service item.
Regards,
Praveen.ok
-
I have an Oracle9i database with clients information that Id like to design an interface for and give access to the clients to login and see their preferences, see what's the status of their services and so on.
Whats the best way to go by this? I have experience in ASP, .Net and PHP.
Thank you,
Lawk Salih
www.lawksalih.comBefore invoke to OEM ( Oracle Enterprise Manager ) as is is described above. You have to do this:
1.- To login as root in a console
2.- apply this: xhost +127.0.0.1
3.- su - oracle
4.- apply this: xhost +127.0.0.1
5.- oemapp console
Joel Pérez
http://otn.oracle.com/experts -
Problem to deploy to a WebService interface for ADF Business Components to Weblogic Server
Hi,
I'm trying to deploy a custom application ,in which i have exposed ADF Business Components through a WebService interface, to a standalone weblogic server.
Application Module is configured with a Service Interface for ordinary ViewObjects.
Now I want to create a EAR file of this application to deploy it on the weblogic server.
But I got an error while deploying it.The error i am getting is shown below.
ERROR: No Java EE modules detected in EAR archive. Deployment aborted. == (oracle.jdevimpl.deploy.ear.WeblogicAssembler)
I have followed the steps mention in the below link :
http://technology.amis.nl/2010/12/29/quickly-creating-reploying-and-testing-a-webservice-interface-for-adf-business-components/
I'm using Jdeveloper 11.1.2.4 on windows.
Please suggest what i could be doing wrong.
Regards,
HimanshuDoes the deployment profile include Java EE modules?
Refer
Java EE Developer: ERROR: No j2ee modules detected in EAR archive. Deployment aborted. == (oracle.jdeveloper.deploy.Veto… -
Creating Activity object for a Service Request object...
<b>[This thread was migrated from the On Demand Developer Forum in the old Siebel Community] </b>
drangineni
New Contributor
Ho do we use Activity object of a Service Request object. I am trying to
create an Activity object for a existing Service Request object.
I am looking for some sample code.
I greatly appreciate your help.
Product: CRM OnDemand
11-26-2006 12:40 PM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
drangineni, What programming language are you using?
BS
12-04-2006 10:56 AM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Hi, I am using C# .
12-04-2006 07:40 PM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
drangineni, assuming you know the service requestid or externalId of the
Sr you are dealin gwith you would first set that value.
ServiceRequest1[] objSRList =new ServiceRequest1[1];
objSRList[0] = new ServiceRequest1();
objSRList[0].ServiceRequestId = <YourSRId>;
Then you create an array of activities and initialize the first one:
objSRList[0].ListOfActivity = new Activity[1];
objSRList[0].ListOfActivity[0] = new Activity();
Now set the data fields
objSRList[0].ListOfActivity[0].Subject ="My Subject";
objSRList[0].ListOfActivity[0].Description ="My Description";
objSRList[0].ListOfActivity[0].Display = "Task"; //valid values are either
"Task" or "Appointment"
Then call the ServiceREquestInsertOrUpdate method on the ServiceRequest
WebService and pass in the above variable.
BS
12-06-2006 12:36 PM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Thank you BigSlick.
The following error is thrown when I use the
ServiceRequestInsertOrUpdate(objInput)
"No user key can be used for the Integration Component instance 'Service <br/>
Request_Action'.(SBL-EAI-04397)"
When I use the prxySrvcRequest.ServiceRequestInsert(objInput), no error is
thrown and the Activity gets added, but a new Service Request object is
created, but the Activity gets added to an existing Service Request
object. I greatly appreciate your help.
The following is the code:
int ActivityLength = 0;
WSOD_ServiceRequest.ServiceRequest1[] ServiceRequest = new
WSOD_ServiceRequest.ServiceRequest1[1];
ServiceRequest[0] = new WSOD_ServiceRequest.ServiceRequest1();
ServiceRequest[0].ServiceRequestId = this.Request.QueryString["id"];
ServiceRequest[0].ListOfActivity = new
WebSelfService.WSOD_ServiceRequest.Activity[ActivityLength + 1];
ServiceRequest[0].ListOfActivity[0] = new WSOD_ServiceRequest.Activity();
ServiceRequest[0].ListOfActivity[ActivityLength].Description =
this.txtDescription.Text;
ServiceRequest[0].ListOfActivity[ActivityLength].Display = "Task";
ServiceRequest[0].ListOfActivity[ActivityLength].Subject = "My Subject";
WSOD_ServiceRequest.ServiceRequest prxySrvcRequest = new
WebSelfService.WSOD_ServiceRequest.ServiceRequest();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input
objInput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output
objOutput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output();
objInput.ListOfServiceRequest = ServiceRequest;
Session objSession;
objSession = (Session) Application["Session"];
prxySrvcRequest.Url = objSession.GetURL();
try
objOutput = prxySrvcRequest.ServiceRequestInsertOrUpdate(objInput);
catch(Exception e)
12-09-2006 09:53 AM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Thank you BigSlick.
The following error is thrown when I use the
ServiceRequestInsertOrUpdate(objInput)
"No user key can be used for the Integration Component instance 'Service <br/>
Request_Action'.(SBL-EAI-04397)"
When I use the prxySrvcRequest.ServiceRequestInsert(objInput), no error is
thrown and the Activity gets added, but a new Service Request object is
created, but the Activity gets added to an existing Service Request
object. I greatly appreciate your help.
The following is the code:
int ActivityLength = 0;
WSOD_ServiceRequest.ServiceRequest1[] ServiceRequest = new
WSOD_ServiceRequest.ServiceRequest1[1];
ServiceRequest[0] = new WSOD_ServiceRequest.ServiceRequest1();
ServiceRequest[0].ServiceRequestId = this.Request.QueryString["id"];
ServiceRequest[0].ListOfActivity = new
WebSelfService.WSOD_ServiceRequest.Activity[ActivityLength + 1];
ServiceRequest[0].ListOfActivity[0] = new WSOD_ServiceRequest.Activity();
ServiceRequest[0].ListOfActivity[ActivityLength].Description =
this.txtDescription.Text;
ServiceRequest[0].ListOfActivity[ActivityLength].Display = "Task";
ServiceRequest[0].ListOfActivity[ActivityLength].Subject = "My Subject";
WSOD_ServiceRequest.ServiceRequest prxySrvcRequest = new
WebSelfService.WSOD_ServiceRequest.ServiceRequest();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input
objInput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output
objOutput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output();
objInput.ListOfServiceRequest = ServiceRequest;
Session objSession;
objSession = (Session) Application["Session"];
prxySrvcRequest.Url = objSession.GetURL();
try
objOutput = prxySrvcRequest.ServiceRequestInsertOrUpdate(objInput);
catch(Exception e)
12-10-2006 08:49 AM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
Ah yes, I forgot you also need to specify a unquie Id for the activity.
It's kinda strange.
Try adding this:
ServiceRequest[0].ListOfActivity[ActivityLength].ActivityId = "DummyId";
//OD will overwrite this with a real Id
Or if you have a unquie ID for your Activities you can use:
ServiceRequest[0].ListOfActivity[ActivityLength].ExternalSystemId = <Your
Unique Value>;
Hope that helps,
BS
12-11-2006 10:52 AM
Re: Creating Activity object for a Service Request object...
surgientweb
New Contributor
Hi all,
I have a similar problem, but mine is returning a message that field
"Display" is required. Looking at this post and the documentation it is
obvious that Display is a required field, but my WSDL did not include a
field called "Display", so my proxy did not generate one.
I tried adding a field called Display to the WSDL and the proxy class, but
I get a different error... I figure I maybe cannot add it manually like
that - but I think the bigger problem is it is not part of the WSDL that
Siebel OD generates for me in my admin account.
On top of that Display is not shown in the list of fields for Activity
through the admin interface.. is it possible my account is bugged? Am I
missing something simple here? BigSlick, I see you mention a .Display in
your code sample so I thought you might understand what is wrong. Here is
my code (I am trying to add a activity to a lead).
Thanks for any insight into this!
private void InsertLeadActivity(Session session, NameValueCollection data,
string leadID)
try
if (blnDebug)
Response.Write("Setting up Activity<br>";
// instantiate the proxy service
Activity_Service.Activity activityProxy = new Activity_Service.Activity();
// set up the target URL
activityProxy.Url = session.GetURL();
activityProxy.CookieContainer = session.GetCookieContainer();
// set up input argument
ActivityNWS_Activity_Insert_Input input = new
ActivityNWS_Activity_Insert_Input();
input.ListOfActivity = new Activity1[1];
input.ListOfActivity[0] = new Activity1();
if (blnDebug)
Response.Write("Getting Data<br>";
// dg note: name value
// input.ListOfActivity[0].MrMrs = data["MrMrs"];
input.ListOfActivity[0].LeadId = leadID.ToString();
input.ListOfActivity[0].Description = DataToString(data);
input.ListOfActivity[0].Subject = "Website Submission Activity";
input.ListOfActivity[0].Priority = "3-Low";
//input.ListOfActivity[0].DueDate =
DateTime.Now.AddDays(7).ToShortDateString();
input.ListOfActivity[0].Owner = this.defaultLeadOwner;
input.ListOfActivity[0].Type = "Call";
//input.ListOfActivity[0].Display = "Task";
input.ListOfActivity[0].ActivityId = "DummyId";
input.ListOfActivity[0].ExternalSystemId = "web";
activityProxy.Activity_Insert(input);
catch (Exception exInsertActivity1)
if (blnDebug)
Response.Write("<br>Error inserting activity.<br><br>" +
exInsertActivity1.ToString() + "<br>";
01-06-2007 05:05 PM
Re: Creating Activity object for a Service Request object...
surgientweb
New Contributor
Figured it out.. the field "Display" is also known as "Activity"........
Here are some notes for other people.. good luck and feel free to write me
at raskawa-at-gmail-com if you want a code sample.
Some unpublished nice to knows for Siebel On Demand Activities....
In summary:
- .Activity is also known as Display in documentation and on the error
messages coming back from the WS. Also, it appears based on these boards
some people actually have a .Display field. Maybe different accounts
generate different WSDL's.... buggy.
- If a error message is thrown saying "Description is required" it really
means "Subject is required" (make sure .Subject has a value)
- If a error message is thrown complaining that ActionType is not right..
that is really .Type.. make sure it's lookup value is valid for the
dropdown values in your CRM OD system.
My code/values that worked..
input.ListOfActivity[0].LeadId = leadID.ToString();
input.ListOfActivity[0].Description = DataToString(data);
input.ListOfActivity[0].Subject = "Website Submission Activity";
input.ListOfActivity[0].Priority = "3-Low";
//input.ListOfActivity[0].DueDate =
DateTime.Now.AddDays(7).ToShortDateString();
input.ListOfActivity[0].Owner = this.defaultLeadOwner;
input.ListOfActivity[0].Type = "Call";
input.ListOfActivity[0].ActivityId = "DummyId";
input.ListOfActivity[0].ExternalSystemId = "web";
//input.ListOfActivity[0].Display = "Task"; //doesn't work
input.ListOfActivity[0].Activity = "Task"; //does work.
01-06-2007 05:17 PM
Re: Creating Activity object for a Service Request object...
raskawa
First Time Contributor
Hi,
This is surgientweb (under my own login now..)
Anyway, I wanted to add that I figured out that there are two ways to add
a Activity to a Lead. Via the Lead object (by getting a ListOfActivities)
OR by creating a Activity directly and just adding your "LeadID" to it (or
you can also add a "ContactID" to relate the activity to a Contact.)
Feel free to email me for a code example (raskawa....at....gmail)
-David
01-09-2007 02:58 PMHi Stephane,
You can definitely read the categories using Tables in CRM. The logic is a bit complicated though.
Use the following steps to retrieve Categories using Std. CRM Tables:
1. Pass transaction GUID in field GUID of table CRMV_REPORT_SUBJ and get KATALOGART, CODEGRUPPE and CODE field values in lv_catalog, lv_codegrp and lv_code.
2. Now you need to concatenate these 3 fields values carefully like this:
CONCATENATE lv_catelog lv_codegrp ' ' lv_code into lv_category1.
Remember there are 4 spaces between lv_codegrp and lv_code.
3. Now pass this lv_category1 in field OBJEXT in table CRMC_ERMS_CAT_OK and get OBJGUID in field lv_objguid.
4. Pass this lv_objguid in field OBJ_GUID and LNK_TYPE = 'IS_CODE' in table CRMC_ERMS_CAT_LN and get value of CAT_GUID in lv_cat_guid.
5. Pass this lv_cat_guid in field CAT_GUID in table CRMC_ERMS_CAT_CA and get value of CAT_ID in field lv_cat_text.
Remember this lv_cat_text is the text value of your last level of category of transaction.
6. To get its upper cateogry level value, simply use table CRMC_ERMS_CAT_HI and get parent guid value and pass this as CAT_GUID again in table CRMC_ERMS_CAT_CA to get its text.
Alternatively, you can also use class method cl_crm_ml_category_util=>get_parse_all to get all levels of categories.
Hope this helps.
Thanks
Vishal -
how to configure one dsl connection and one public ip in cisco router and map to one interface for using exchange server
Hi ,
Have you got any additional public IP Address from your service provider , If yes on router you can have static route for those additional IP Address pointing to your ASA outside interface .
Accordingly you can configure NAT
HTH
Sandy .
Maybe you are looking for
-
How to remove a disk from a logical-drive in a 3510
Hello SUN masters, I have a 3510 with 4 logical drives and 2 global spares. Logical drive 0 (ld0) has 14 disks and i want to assign 2 of those as global spares and leave ld0 with 12 drives. the other logical-drives have just 2 HDD so I won't touch th
-
Cannot Connect Pavilion dv6 2020sa laptop to HDTV using HDMI cable
Hi I have tried to connect my laptop to HDTV using HDMI cable but it just comes up with a 'No Signal' message on TV, any ideas? I have done a search on internet with no joy. Operating system is Windows 7 TV is 32" LG LCD HDTV
-
IPhoto '08 Preferences- opening but not allowing changes and freezing up
My problem with preferences is that it does open up but when I go to change a preference it freezes up and then iPhoto stops responding all together. Can someone please help? Thanks!
-
Missing message file for PL/SQL compile time warnings
I want to use PL/SQL compile time warnings but I don't have the message file on my system (or it is not installed correctly). This results in output like this: 3/5 PLW-05005: Message 5005 not found; No message file for product=plsql, facility=PLW Whe
-
How do I stop the Browser settings change window from appearing in bottom right corner of my screen
The following details appear in a small window of the bottom left of my screen which cannot be closed: Browser settings change ! an unknown change was detected on your browser's search settings: * Keep my current settings. * I am aware of this change