Webservices APIs and approaches options
Hi all,
I am in 3 weeks "trip" trying to access( via ssl) a simple webservice thats return a string and do not receive any parameters.
I would like to understand what apis ( and to do what) are available in the webservices world .
I am trying to use AXIS2, but it is not clear for me if it is really for production. And the number of unanwsered messages in the users list do not motive a lot.
I would like to know all available options.
If you can send to me links, tutorials.. examples.. so... anything to clarify ...
thanks a lot
Try using JAX-WS http://jax-ws.dev.java.net. Make sure to reference the forum: http://forums.java.net/jive/forum.jspa?forumID=46. and look for threads on how to do an ssl request.
Similar Messages
-
Invoking BPEL Task Apis - Recommended approach
Hi all,
I am trying to invoke BPEL Task webservice APIs and am referring to this link . I have a few queries in this regard.
1. Workflow Service Clients - Best approach - It appears that there are many approaches to get a workflow service client and am confused which to proceed with.
i. wf_client_config.xml & use getWorkflowServiceClient to get the client
ii. Using a JAXB Object
iii. Using a Map
2. If I am to invoke the webservice, what are the setups required at my client end to invoke the webservice?
Thanks,
SriniI added the jar files and I don;t get the exception anymore. I am able to login in as weblogic and the application works fine. When I login in as anyother user I get this error. Where is this pc.properties?
Warning: Could not locate file pc.properties in classpath
ORABPEL-30501
Error in authenticating user.
Error in authenticating and creating a workflow context for user jazn.com/pat.
Verify that the user credentials and identity service configurations are correct.
Thanks
Saru -
BPM 11g: JAVA API and Webservice API
Who knows BPM 11g: JAVA API and Webservice API?
Customer want to call BPM 11g between Heterogeneous systems, such .net framework. One way is use webservice API, I think, but where can find it? thank youWhen you create a BPM application in 11g, you're actually creating a SOA composite application with a BPMN component in the composite. From within the BPMN editor, you can specify the interface (parameters) of each start node in the process. If you select a start node, look at the implementation tab, you'll see a properties group that lets you define the interface one property at a time, or by selecting an interface from the catalog.
By defining these properties you're also defining the shape of the Web Service interface that will automatically be created in the composite. If you switch to the composite view, you'll see your BPMN process with a wire to it from a Web Service that's generated from the interface defined in the BPMN editor. The naming convention is the BPMN process name with ".service" appended. When you deploy the BPMN process, the web service will also be deployed, since it's also part of the composite. From Enterprise Manager (EM) you can test the service and get the WSDL, which could be used by other applications (e.g. .NET) to start and interact with a process instance.
This is one of the advantages of the 11g architecture. The composite exposes services to consumers/clients. The implementation could have been BPEL, BPMN, a Mediator, Java/EJBs, or any combination working together. To the consumer, it's just a web service.
In case your next question was about security ... you won't see properties about security in the BPMN editor. You use Web Service Manager to apply security or other constraints to the web service endpoint. -
I'm looking for a (MS or third party) tool with which I can create, publish and host webservice API's on a custom SQL database. For example a API which presents all customers, or validates a user login.
I prefer a tool that can be used without .NET programming skills, just using database scripts and queries.
Could somebody suggest a tool for this?
Many thank,
SlowytechUse Visual Studio (Microsoft Visual Studio Express 2013 for Web ) and the WebAPI framework. You can easily create REST endpoints for your data. You can even
use ODATA to enable RESTful queries over your data.
See
http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api
David
David http://blogs.msdn.com/b/dbrowne/ -
XI 3.1 Webservices API: Read time out during getDocumentInformation()
Hi,
my client is moving vom BO 6.5 to BO XI 3.1. The client uses BO to create mass reports for indivual subscribers in a batch mode fashion. We are currently evaluating the Webservices API, dealing with Desktop Intelligence reports.
I have implemented a load test prototype using the Webservices API with the help of the examples found here.
Retrieving a single report works fine, but when I try to put some load on the server and request reports with several parallel threads, I get the "Read timeout error" when calling getDocumentInformation(repID, null, actions, null, boRetrieveData). The actions array just contains the FillPrompts instance.
2008-12-05 11:05:07,448 INFO (test-5 ) [HTTPSender ] Unable to sendViaPost to url[http://bojv01:8080/dswsbobje/services/ReportEngine]
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1115)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1373)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:520)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:191)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at com.businessobjects.dsws.reportengine.ReportEngine.getDocumentInformation(Unknown Source)
BTW, the threads use different logins and in consequence different connections/sessions.
The timeout occurs after 30secs, so simple reports with no prompts are created without error. Increasing the timeout on the connection as suggested in other postings did not help.
I think the issue is related to Axis2. I don't know how to set the timeout on the Axis client via the BO API. Trying to recreate the client API from the WSDL did not work. Is there any example how to do this correctly? Having the source of the Axis client, one would have the chance to set the timeout on the client programmatically ...
Any help would be greatly appreciated,
conI found a workaround for the issue by patching and compiling the Axis2 kernel library. You need to download it form Apache, install Maven 2.0.7, set the default timeout in .../client/Options.java to a value that suits your needs (for me: 20min), and compile the whole thing using mvn clean install.
But this is obviously not the solution one wants. So, is there anybody with a REAL answer to the problem?
Regards,
con -
How to create a user in Opensso Identity Service Webservices api?
Hi All,
I am getting struck with the creation of user in OpenSSO through the webservices api they are providing.
I used the following wsdl link to create the API's. http://localhost:8080/opensso/identityservices?WSDL
Now my requirement is, i have to create a user profile through the program which has the api create(identity,admin) created by the WSDL link.
Here identity is the com.sun.idsvcs.IdentityDetails and admin is the com.sun.idsvcs.Token. I want to append givenName,cn,sn,userPassword in that. But dont have any idea how to given these details in IdentityDetails. If anyone give any sample solution i can follow.
Any Help Greatly Appreciated.
Thanks in Advance.
With Regards,
Nithya.Hey, I've managed to implement OpenSSO user registration through SOAP.
My code is:
package ru.vostrets.service.implementation.helper.opensso;
import ru.vostrets.model.person.Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import ru.vostrets.dao.PropertiesDao;
import ru.vostrets.exception.FatalError;
import com.sun.identity.idsvcs.opensso.*;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import ru.vostrets.exception.ConfigurationError;
* @author Kuchumov Nikolay
* email: [email protected]
@Service
public class OpenSsoPersonServiceHelper
private enum AttributeName
USER_NAME("uid"),
PASS_WORD("userpassword"),
GIVEN_NAME("givenname"),
FAMILY_NAME("sn"),
FULL_NAME("cn"),
EMAIL("mail");
private final String name;
AttributeName(String name)
this.name = name;
public String getName()
return name;
private static final Logger LOG = LoggerFactory.getLogger(OpenSsoPersonServiceHelper.class);
private PropertiesDao propertiesDao;
public void create(Person person)
try
IdentityServicesImplService service = new IdentityServicesImplService();
IdentityServicesImpl servicePort = service.getIdentityServicesImplPort();
java.util.List<java.lang.String> attributeNames = null;
Token subject = new Token();
subject.setId(request.getParameter("token"));
UserDetails results = servicePort.attributes(attributeNames, subject);
for (Attribute attribute : results.getAttributes())
LOG.info("************ Attribute: Name = " + attribute.getName() + ", Values = " + attribute.getValues());
LOG.info("Roles = " + results.getRoles());
IdentityDetails identity = newIdentity
person.getCredentials().getUserName(),
getAttributes(person)
* Creates an identity object with the specified attributes.
* @param admin Token identifying the administrator to be used to authorize
* the request.
* @param identity object containing the attributes of the object
* to be created.
* @throws NeedMoreCredentials when more credentials are required for
* authorization.
* @throws DuplicateObject if an object matching the name, type and
* realm already exists.
* @throws TokenExpired when subject's token has expired.
* @throws GeneralFailure on other errors.
servicePort.create
identity,
authenticateAdministrator()
catch (DuplicateObject_Exception exception)
throw new UserAlreadyExistsError();
catch (Exception exception)
//GeneralFailure_Exception
//NeedMoreCredentials_Exception
//TokenExpired_Exception
throw new FatalError(exception);
private Token authenticateAdministrator()
try
IdentityServicesImplService service = new IdentityServicesImplService();
IdentityServicesImpl servicePort = service.getIdentityServicesImplPort();
if (propertiesDao.get().getAuthentication().getOpenSso().getAdministrator().getUserName() == null
|| propertiesDao.get().getAuthentication().getOpenSso().getAdministrator().getPassWord() == null)
throw new ConfigurationError("OpenSSO administration properties not initialized");
* Attempt to authenticate using simple user/password credentials.
* @param username Subject's user name.
* @param password Subject's password
* @param uri Subject's context such as module, organization, etc.
* @return Subject's token if authenticated.
* @throws UserNotFound if user not found.
* @throws InvalidPassword if password is invalid.
* @throws NeedMoreCredentials if additional credentials are needed for
* authentication.
* @throws InvalidCredentials if credentials are invalid.
* @throws GeneralFailure on other errors.
Token token = servicePort.authenticate
propertiesDao.get().getAuthentication().getOpenSso().getAdministrator().getUserName(),
propertiesDao.get().getAuthentication().getOpenSso().getAdministrator().getPassWord(),
LOG.info("******************************** Admin token: " + token.getId());
return token;
catch (Exception exception)
throw new FatalError(exception);
com.sun.identity.idsvcs.opensso.IdentityServicesImplService service = new com.sun.identity.idsvcs.opensso.IdentityServicesImplService();
QName portQName = new QName("http://opensso.idsvcs.identity.sun.com/" , "IdentityServicesImplPort");
String request = "<authenticate xmlns=\"http://opensso.idsvcs.identity.sun.com/\"><username>ENTER VALUE</username><password>ENTER VALUE</password><uri>ENTER VALUE</uri></authenticate>";
try
// Call Web Service Operation
Dispatch<Source> sourceDispatch = null;
sourceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD);
Source result = sourceDispatch.invoke(new StreamSource(new StringReader(request)));
catch (Exception exception)
// TODO handle custom exceptions here
private Attribute newAttribute(AttributeName name, Object value)
Attribute attribute = new Attribute();
attribute.setName(name.getName());
attribute.getValues().add(value.toString());
return attribute;
private Map<AttributeName, Object> fillAttributes(Map<AttributeName, Object> attributes, Person person)
attributes.put(AttributeName.USER_NAME, person.getCredentials().getUserName());
attributes.put(AttributeName.PASS_WORD, person.getCredentials().getPassWord());
attributes.put(AttributeName.GIVEN_NAME, person.getPersonal().getGivenName());
attributes.put(AttributeName.FAMILY_NAME, person.getPersonal().getFamilyName());
attributes.put(AttributeName.FULL_NAME, person);
attributes.put(AttributeName.EMAIL, person.getContacts().getEmail());
return attributes;
private Map<AttributeName, Object> getAttributes(Person person)
return fillAttributes(new HashMap<AttributeName, Object>(), person);
private IdentityDetails newIdentity(Object name, Map<AttributeName, Object> attributes)
IdentityDetails identity = new IdentityDetails();
identity.setName(name.toString());
return fillAttributes(identity, attributes);
private IdentityDetails fillAttributes(IdentityDetails identity, Map<AttributeName, Object> rawAttributes)
for (Map.Entry<AttributeName, Object> rawAttribute : rawAttributes.entrySet())
identity.getAttributes().add(
newAttribute(rawAttribute.getKey(), rawAttribute.getValue()));
return identity;
@Autowired
public void setPropertiesDao(PropertiesDao propertiesDao)
this.propertiesDao = propertiesDao;
} -
Error while invoking Webservice API ItemService_GetItemInformation
The following error is encountered while invoking Webservice API "ItemService_GetItemInformation"
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<faultcode>wsse:InvalidSecurity</faultcode>
<faultstring>Missing <wsse:Security> in SOAP Header</faultstring>
<faultactor/>
</env:Fault>
</env:Body>
</env:Envelope>
Same is repeated even after passing
RESPONSIBILITY_NAME => Inventory
RESPONSIBILITY_APPL_NAME => INV
SECURITY_GROUP_NAME => Standard
NLS_LANGUAGE => AMERICAN
Any pointer for the root cause of this error & how to resolve this?
Thanks In Advance!
priyadarshiHi ..
The error meaning: you need input the user_name and password for the SOAPHeader -
Service Desk WebService API - IctTimestamp in UTC ?
Hi all,
..I know this is quite specific, but maybe someone has come across it. In Solution Manager 7, SP24, we are implementing the WebSAervices API and in general it works ok.
There is the field IctTimestamp, which according to the WhitePaper / Docs should be sent from external system in UTC format and so it is.
But unfortunatly, Solution Manager doesn't convert this UTC time back to local time in the Service Desk, even though system timezone is set correct to UTC+4.
So we receive the timestamp in UTC date fine, but it is not converted to local time as per system setup.
Is anyone aware of this and how to address ? Sounds like a bug for me ?
Thanks a lot,
FrankHi Frank
I am trying to integrate the webservice using SAP PI and external ticket tool. Can you please explain your scenario how you are using the webservice in external tool. Is it using SAP PI ?. Please help -
Setting format and format options in Output module settings for render queue item
Hello,
I am unable to set the "Format" and "Format options" for video in output module settings programatically using After effects apis.
I referred the after effects cs3 sdk guide for the apis.
I find apis for all other options in the "outputmodule settings " like :
AEGP_SetEmbedOptions
AEGP_SetOutputChannels
AEGP_SetStretchInfo
AEGP_SetSoundFormatInfo
But there is no api listed for setting the options available in the "Format" tab and "Format options" tab.
The "Format" tab and "Format options" tab is available in the dialog that opens when user clicks on the Output module settings for the render queue item.
The format tab when clicked shows a drop down list with aff different formats. By default "Video for Windows" is set.
The drop down list contains following format options
Adobe Clip Notes
Adobe Flash video
Quicktime movie
Video for Windows
I need to be able to set the "Quicktime movie" option in the Format tab programmatically and then set the compression type as "Animation" in the compression settings programatically using the api functions available in AE CS3 SDK
Please suggest the suitable api to do so.
I need to write my own plugin to export to Quicktime movie using the after effects apis.
I follow below steps to do so.
1. AEGP_InsertMenuCommand and add export option to AE with my own plugin name
2. In the command hook, select active item using AEGP_GetActiveItem
3. Add it to render queue
4. Set the output module settings for 0 th output module using
suites.OutputModuleSuite1()
5. Use different functions from suites.OutputModuleSuite1() to set the output module settings like EmbedOptions,StrechInfo etc.
6. Till this step, I am doing it right. But I am not able to find any api for setting Format options using suites.OutputModuleSuite1()
I also checked all other suites available for setting FormatOptions but no luck.
Please help.
Thanks,
-NamitaHi Namita,
I am experiencing the same problem.
I am using AE CC SDK, and I am unable to change the outputmodule format to any of the other movie format types (mov, mpg, flv, etc.).
It is always set to "avi"
I even compiled and ran the Queuebert example in the SDK, and there I get the same problem: the path extension is always left on ".avi"
Does anyone know how to change this? -
URL Escaping when calling Webservices API Changed?
Hello,
It seems that something has changed recently with the Adobe Connect Webservices API. In the past, when I would call 'principal-update' to create or update a user, I would sanitize all my strings using urlencode() in PHP, which takes any non-alphanumeric characters (or dashes and underscores) and "percent encodes" them. For example, a "@" character in an email address becomes "%40".
This is important especially in the case that a string contains an ampersand (&) or question mark (?) since those characters are used to pass the parameters themselves in the URL string.
This has always worked fine until I noticed a few days ago it was no longer working.
If I attempt to create a user with an email address formatted with the "%40", Connect now comes back with an error message saying it wasn't formatted properly. Removing the encoding fixes the problem.
However, this is NOT best practice. And especially for passwords, which could theoretically contain ampersands and question marks, you cannot simply pass the raw string in the URL as it will create a malformed URL.
Has anyone noticed this, and does Adobe know about it? Seems like a major problem, and means I will have to prevent users from using these special characters in their passwords until this is fixed.
-JeffJeff,
Thanks for the posting. I suggest you should call this into Support as a bug. It's possible that they changed something that affected this without seeing the ramifications. -
Drag and drop option for hierarchy through Web Template
Hi All,
I have 2 hierarchies in one report. For example Product Hierarchy and Customer hierarchy. I would like to have an option in query where I can select the node from each hierarchy and the report is displayed only for the selected node/nodes. I am using Web Template. I used "Hierarchy filter" web item and was able to achieve this. But I would like to have a drag and drop option.
I mean when I use Hierarchy filter web item, I have to select the particular node in the hierarchy. and then the report (Web Item - Table) is displayed based on the selection. But I would like to drag the node from the hierarchy and drop it to the report (Web Item - Table) and the report is displayed for the selected hierarchy node.
Is this possible? How? Do I have to write any Java code or we can achieve this with BI Standard functionality.
Regards.
Parin Gandhi.This is not possible using Standard BI web functionality.
If you are an expert with JavaScript and BI Web APIs you can probably write JS code to do this. -
MDM 5.5 SP04 Java API and Web Service Documentation
Is there documentation available that reflects the SP04 changes to the Java API, and the web services that are now available?
As of this morning, service marketplace contained spotty SP04 docs.
Thanks in advance,
MikeMike,
A cookbook would be wonderful (I think our developers would throw a party)!
An updated object model (as a preface to the user guide) for the legacy API (MDM4J.jar) AND the new "rebranded" API (mdm-*.jar) would also work.
I've been reduced to comparing the SP3 & SP4 javadocs
One fun approach that appears to be working for us, is to model each process using the DataManager, and try to duplicate that exactly via the corresponding API objects (e.g. the simple Connect-Find Table-Search Table-View Result Set-View Record-CheckOut/Upsert/Validate/CheckIn dance). New features in the DataManager reveal themselves a little more readily
Good luck,
...Dee -
How to integrate third party API and DLL
Dear sir/Madam
How can i integrate the third party high level API and DLL into my DLL, project keeping in view that all their functions and their definitions kept hidden. i have tried it but when importing the functions in the DLL and export the high level functions, compiler demands their declarations and prototypes.
Is their a way to hide all these high level functions and still utilize them.
thanks, regards
ZafarHi Matrix39,
The compiler will still need the proper prototypes for the functions called in the third party DLL to compile your DLL whether you are using explicit or implicit linking to call the functions. Declaring these prototypes in your DLL does not mean they will be exported by your DLL. The functions exported by your DLL can be configured by navigating to Build»Target Settings in CVI. From here you can configure what functions your DLL exports by clicking the Change... button in the Export section. There are several options for specifying the functions including using header files and manual export declarations. See the CVI Help for more information.
Justin D
Applications Engineer
National Instruments
http://www.ni.com/support/ -
Webservice API support in Tomcat 5.5
Hi All
Could you please let us know if Tomcat 5.5 or Tomcat 6 supports the Webservices API set or not.
And From where I will get the API details ?
Thanks
SamTomcat does not support any web service API by itself.
As the first response poster mentioned, you simply need to add in your desired web service package.
Both Axis and Axis2 are quite easy to use - but just make sure you read the documentation carefully and completely! -
Info Needed On BAM Adapters /Webservice APIs
Hi All,
Can you please provide me links/documents about configuring BAM Adapters. Also information on BAM Webservice APIs will also be really helpful.
Thanks,
AngelineLook at the very end of this document:
http://www.oracle.com/technology/products/integration/bam/10.1.3/htdocs/bam_1013_faq.html#WebServices
It describes the following:
BAM webservice inspection - To verify BAM webservices open:
http://localhost/oraclebam/inspection.wsil.
And then you can inspect individual data objects as per the WSDL described in this page. These individual end point WSIL gives the webservice end point for the individual BAM dataobjects.
BAM data object operations - To describe BAM operations open: http://localhost/OracleBAM/Services/DataObject/DataObjectOperations.asmx?wsdl
BAM data object layout (definitions) - To describe data object layout: http://localhost/OracleBAM/Services/DataObject/DataObjectDefinition.asmx?wsdl
Maybe you are looking for
-
I've been using a 320GB external drive for time machine for the last several years. The backups always worked fine and when necessary I was able to look at & restore older data from the time capsule. Recently, I keep getting the message that a back
-
How can I add 2 monitors to a Mid 2007 Mac Mini? Would a usb to dvi adaptor work?
How can I add 2 monitors to a Mid 2007 Mac Mini? Would a usb to dvi adaptor work?
-
The image for my new podcast doesnt show up in iTunes
I started a new podcast called Silph Radio A Pokemon Podcast. Everything else worked fine, but the image is not showing up for the podcast. When I first attempted to submit my podcast, I was told my image had to be at least 600x600 pixels and it wa
-
Upgrade from 10.1.2.0.2 to 10.1.4.0.1 issues
I recently upgraded our Infrastructure and Metadata Repository from 10.1.2.0.2 to 10.1.4.0.1. After the upgrade, everything seemed to be working properly including our mid-tier server which was SSL and SSO enabled. When viewing the EM Application Ser
-
When I reboot my airport express, all my game systems connect fine, after a few days, they all randomly can't connect anymore. This includes nintendo, xbox, sony, etc. The computers don't have this problem. I have an extreme base and express extender