Web services + persistence API

Hello everyone, I'm new here and have a silly question to ask.
Is it possible to generate entity classes from database by using persistence API then wrap them in web services with jaxws? Thanks!

Thanks... Any tips on how to do it? preferably without much coding.

Similar Messages

  • Securing DSP calls via Web Services Mediator API

    I have been implementing a client of DSP 3.0 services using the static Web Services Mediator API. I am successfully calling these through the AL Service Bus, where I have deployed the WSDL generated from the DSP. We are calling this from a rich client (i.e. the client is not running in any container). My company has chosen to use SAML-based security on all web services deployed in the service bus.
    I know how to use general-purpose web service clients to pass SAML tokens to the web service. My question is, how do I do this when using the Web Services Mediator API. I have noticed the XMLHelper class and the RequestConfig class, but I have not seen much in the way of examples of using them.
    Related question:
    Is it possible to insert additional content into the SOAPHeader, or configure attributes on the Port?
    Thanks,
    Jeff
    Edited by jhoffmanme at 02/13/2008 8:06 AM

    I'm checking into the SAML question.
    Regarding the soap header - whatever is in the contract defined in the WSDL.

  • Can't install Microsoft Exchange Web Services Managed API 2.0 - message says it is already installed but it is not.

    I tried to install the Microsoft Exchange Web Services Managed API 2.0 but I got a message saying it was already installed and that I should un-install it.  However it does not appear in the control panel un-install a program list.  I am using
    VS2013 on windows 8.  What can I do to get it to work?
    Mike VE

    Hello,
    Thank you for your sharing.
    If you have any feedback on our support, please click
    here
    Cara Chen
    TechNet Community Support

  • Fetching all mails in Inbox from Exchange Web Services Managed API and storing them as a .eml files

    I want to fetch all mails in the Inbox folder using EWS Managed API and store them as .eml.
    I can store file once I get the file content as a byte[] will
    not be difficult, as I can do:
    File.WriteAllBytes("c:\\mails\\"+mail.Subject+".eml",content);
    The problem will be to fetch (1) all mails with (2)
    all headers (like from, to, subject) (I am keeping information of those values of from, to and
    other properties somewhere else, so I need them too) and (3)byte[]
    EmailMessage.MimeContent.Content. Actually I am lacking understanding of
    Microsoft.Exchange.WebServices.Data.ItemView,
    Microsoft.Exchange.WebServices.Data.BasePropertySet and
    Microsoft.Exchange.WebServices.Data.ItemSchema
    thats why I am finding it difficult.
    My primary code is:
    When I create PropertySet as
    follows:
    PropertySet properties = new PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.MimeContent);
    I get following exception:
    The property MimeContent can't be used in FindItem requests.
    I dont understand
    (Q1) What these ItemSchema and BasePropertySet are
    (Q2) And how we are supposed to use them
    So I removed ItemSchema.MimeContent:
    PropertySet properties = new PropertySet(BasePropertySet.FirstClassProperties);
    I wrote simple following code to get all mails in inbox:
    ItemView view = new ItemView(50);
    view.PropertySet = properties;
    FindItemsResults<Item> findResults;
    List<EmailMessage> emails = new List<EmailMessage>();
    do
    findResults = service.FindItems(WellKnownFolderName.Inbox, view);
    foreach (var item in findResults.Items)
    emails.Add((EmailMessage)item);
    Console.WriteLine("Loop");
    view.Offset = 50;
    while (findResults.MoreAvailable);
    Above I kept page size of ItemView to
    50, to retrieve no more than 50 mails at a time, and then offsetting it by 50 to get next 50 mails if there are any. However it goes in infinite loop and continuously prints Loop on
    console. So I must be understanding pagesize and offset wrong.
    I want to understand
    (Q3) what pagesize, offset and offsetbasepoint in ItemView constructor
    means
    (Q4) how they behave and
    (Q5) how to use them to retrieve all mails in the inbox
    I didnt found any article online nicely explaining these but just giving code samples. Will appreciate question-wise explanation despite it may turn long.

    1) With FindItems it will only return a subset of Item properties see
    http://msdn.microsoft.com/en-us/library/bb508824(v=exchg.80).aspx for a list and explanation. To get the mime content you need to use a GetItem (or Load) I would suggest you read
    http://blogs.msdn.com/b/exchangedev/archive/2010/03/16/loading-properties-for-multiple-items-with-one-call-to-exchange-web-services.aspx which also covers of paging as well.
    3) offset is from the base your setting the offset to 50 each time which means your only going to get the 50 items from the offset of 50 which just creates an infinite loop. You should use
    view.Offset
    = +50;
    to increment the Offset although it safer to use
    view.Offset  += findResults.Items.Count;
    which increments the offset based on the result of the last FindItems operation.
    5) try something like
    ItemView iv = new ItemView(100, 0);
    FindItemsResults<Item> firesults = null;
    PropertySet psPropSet = new PropertySet(BasePropertySet.IdOnly);
    iv.PropertySet = psPropSet;
    PropertySet itItemPropSet = new PropertySet(BasePropertySet.IdOnly) { ItemSchema.MimeContent, ItemSchema.Subject, EmailMessageSchema.From };
    do
    firesults = service.FindItems(WellKnownFolderName.Inbox, iv);
    service.LoadPropertiesForItems(firesults.Items, itItemPropSet);
    foreach(Item itItem in firesults){
    Object MimeContent = null;
    if(itItem.TryGetProperty(ItemSchema.MimeContent,out MimeContent)){
    Console.WriteLine("Processing : " + itItem.Subject);
    iv.Offset += firesults.Items.Count;
    } while (firesults.MoreAvailable);
    Cheers
    Glen
    .Offset += fiFitems.Items.Count;

  • Does OVM 3.0x provides management web service or API?

    Hi
    I thought OVM 2.20 provided Oracle VM Manager Web Services API Reference.
    Where can we find the same thing for OVM 3.0x?
    Thanks.

    J.S.Park wrote:
    Where can we find the same thing for OVM 3.0x?Oracle VM 3.0 doesn't have a Web Services API. The full Java/Python API and programmers documentation is still being developed and has not been released yet.

  • Bundled Web Services Package API?

    Is there an API for the bundled Web Services Package in JSC 2?
    I'm reading the Field Guide which give an example of using the Google Web services package. After you make the request it returns a GoogleSearchResult Object which you can easily grab data.
    But, now I want to use the bundled Amazon package. How can I easily figure out the object type that all of these classes are returning?
    I'm a beginner. I know this may be more a general Java question.

    After adding the Web Service to the Web Services node, expand the added W/S and select the methods and look at the property sheet for details. Also you can right click on the method and select "test" and you'll see lots of detail about the W/S and its return object structure in the test dialog.
    - Winston
    http://blogs.sun.com/roller/page/winston?catname=Creator

  • PeopleSoft web services and api

    Dear all,
    I want to know integration capabilities of PeopleSoft.
    Does PeopleSoft provide Web Services/api for integartion? Can one populate Oracle AQ/JMS Queue from PeopleSoft on certain business events?
    Regards,
    Sam

    YES, peoplesoft does provide webservices for integration.
    Starting from Peopletools 8.48+ peopletools integration capabilities can be integrated into external sites, services, forms and message posts.
    Thanks

  • Web Services Managed API

    Hey,
    I'm trying to expose some Exchange stuff through my .NET web site. It's not working because I want to use the logged in users credentials but this fails. If I hard code a username and password all is well.
    My setup is:
    Client > IIS 7.5 Server > Exchange 2010 Server
    I know it's to do with Kerberos, but I cannot figure out where it's failing. I've setup SPNs on the Exchange server, and enable delegation on the IIS computer account in AD.
    I have this working perfectly for IIS Server > SQL Server using a domain service account for SQL, so Kerberos itself appears to be sound. Same Web site, same IIS Server I'm trying to use for Exchange Web Services.
    public void SendEmail_Click(object sender, EventArgs e)
    try
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
    service.UseDefaultCredentials = true;
    service.AutodiscoverUrl("[email protected]");
    EmailMessage message = new EmailMessage(service);
    message.Subject = EmailSub_TextBox.Text;
    message.Body = EmailBod_TextBox.Text;
    message.ToRecipients.Add(EmailTo_TextBox.Text);
    message.Attachments.AddFileAttachment(String.Format("{0}", FileName), Server.MapPath(String.Format("{0}", FileUrl)));
    message.Save();
    message.SendAndSaveCopy();
    catch (Exception ex)
    Info_Label.Text += String.Concat(ex.Message.ToString(), "<br />");
    Info_Label.Visible = true;
    This returns this error, when for example sending an email (as per above code):
    When making a request as an account that does not have a mailbox, you must specify the mailbox primary SMTP address for any distinguished folder Ids.
    The message sender (me) does have a valid mailbox!
    Thanks.
    PS: I have a single server Exchange environment.

    Thanks Glen.
    Will do. If I get anything from the IIS forum I'll post back here, in case anyone stumbles across it.
    One final question: what, in reality, is the difference between these:
    service.UseDefaultCredentials = true;
    service.Credentials = CredentialCache.DefaultNetworkCredentials;
    As they both work.

  • Exchange Web Service Managed API not authorizing

    I find it very strange that I am able to create appointments in my calendar on our company's exchange 2010 server
    using the asp.net 4.0 web application running on my XP machine which is not even part of the domain!, BUT when I upload the same code to our company's production Web application server
    (which is not same as the Exchange server), then I get the error as follows:
    System.Net.WebException: The remote server returned an error: (401) Unauthorized
    I am using Window's authentication throughout. Using service.UseDefaultCredentials = true; I just cannot
    afford to use the username/paasword for every staff who will be using this application. I am thinking there is some problem (rights/permissions/disabled impersonation) issue at the production Web application server (Windows 2008 m/c). I even played with the
    Application pool identity in IIS 7 by selecting all the builtin accounts it can possibly run under, but same error. I can clearly see that it is running under my Windows account right before the Appointment.Save() call
    is made. I am briefly impersonating using the logged in user's credentials and then removing the impersonation. I saw this technique elsewhere. But that doesn't make any difference either.
    These are the code files:
    Default.aspx.cs
    //(nothing much is going on in the markup page Default.aspx. Therefore not including)
    using System;
    using System.Collections.Generic;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Microsoft.Exchange.WebServices.Data;
    using Microsoft.Exchange.WebServices.Autodiscover;
    using System.Web.Configuration;
    namespace TestExchangeWebServices
    public partial class _Default : System.Web.UI.Page
    protected ExchangeService service;
    protected void Page_Load(object sender, EventArgs e)
    service = new ExchangeService(ExchangeVersion.Exchange2010);
    service.UseDefaultCredentials = true;
    service.Url = new Uri(WebConfigurationManager.AppSettings["EWSURL"]);
    SetAppointment("Test", DateTime.Now, "Test");
    public void SetAppointment(string Subject, DateTime AptDateTime, string Body)
    Appointment apt = new Appointment(service);
    apt.Subject = Subject;
    apt.Body = Body;
    apt.Body.BodyType = BodyType.HTML;
    apt.Start = AptDateTime;
    apt.End = apt.Start.AddMinutes(30.00);
    apt.ReminderMinutesBeforeStart = 15;
    apt.IsReminderSet = true;
    HttpContext.Current.Trace.Write("Before Impersonation: System.Security.Principal.WindowsIdentity.GetCurrent().Name = " + System.Security.Principal.WindowsIdentity.GetCurrent().Name );
    System.Security.Principal.WindowsImpersonationContext impersonationContext;
    impersonationContext = ((System.Security.Principal.WindowsIdentity)HttpContext.Current.User.Identity).Impersonate();// //System.Threading.Thread.CurrentPrincipal.Identity
    HttpContext.Current.Trace.Write("Before Saving Appointment. System.Security.Principal.WindowsIdentity.GetCurrent().Name = " + System.Security.Principal.WindowsIdentity.GetCurrent().Name);
    //This is where the call is made and error occurs
    apt.Save(SendInvitationsMode.SendToNone);
    HttpContext.Current.Trace.Write("After Saving Appointment.");
    impersonationContext.Undo();
    Web.Config
    <?xml version="1.0"?>
    <configuration>
    <appSettings configProtectionProvider="RsaProtectedConfigurationProvider">
    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
    xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <KeyName>Rsa Key</KeyName>
    </KeyInfo>
    <CipherData>
    <CipherValue>0Sw7QiYFKoD65nCXfakXUhJrjapk4uyQ9u6aPBStxB1XBIIPtXbuZJZb/GyMxgl7Gi3sqIkoq66BKa+MSzjAkpkIfnZmOhMNVomKofC3rlEf9NeIAdCEvjcmENhfGyA6aEJj96mGDxRDBE/FP1iQ8Z3x8Rob+HG1sbD0YJy2rpA=</CipherValue>
    </CipherData>
    </EncryptedKey>
    </KeyInfo>
    <CipherData>
    <CipherValue>HmmlAzyuedvlQ/+grwRKjTs5Z7sg5dYShHFYsFcI0q2ugkZ7oYYNTTEycyqzKyXmaaqwyE2lAsApApSvT+JDys021+sMrqLrF37xAkjRimKbPTylgznRZLQx2qKAZstb6qIis2mcLykgURtp2ytfoPl83jJzEU1y6PtB0loB/p4=</CipherValue>
    </CipherData>
    </EncryptedData>
    </appSettings>
    <connectionStrings>
    <add name="ApplicationServices"
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
    providerName="System.Data.SqlClient" />
    </connectionStrings>
    <system.web>
    <identity impersonate="false"/>
    <customErrors mode="Off"></customErrors>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Windows">
    </authentication>
    <membership>
    <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
    enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
    maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
    applicationName="/" />
    </providers>
    </membership>
    <profile>
    <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
    </providers>
    </profile>
    <roleManager enabled="false">
    <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
    </providers>
    </roleManager>
    </system.web>
    <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    </configuration>

    Glen, thanks for the response! I had already implemented a solution that is working for me as follows. Anyway your input is much appreciated.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Microsoft.Exchange.WebServices.Data;
    using Microsoft.Exchange.WebServices.Autodiscover;
    using System.Web.Configuration;
    //for impersonation before making calls
    using System.Security.Principal;
    using System.Web.Security;
    using System.Runtime.InteropServices;
    namespace TestExchangeWebServices
    public partial class _Default : System.Web.UI.Page
    protected ExchangeService service;
    //The following Impersonator*** variables are of the exchange account which has been configured to impersonate other users by enabling impersonation on the exchange server as they show at this link: http://msdn.microsoft.com/en-us/library/office/bb204095(v=exchg.140).aspx
    protected string ImpersonatorUsername = WebConfigurationManager.AppSettings["ImpersonatorUsername"];
    protected string ImpersonatorPassword = WebConfigurationManager.AppSettings["ImpersonatorPassword"];
    protected string ImpersonatorDomain = WebConfigurationManager.AppSettings["ImpersonatorDomain"];
    // This is for the user for whom the appointment need to be set on their exchange server. This user will be impersonated by the above impersonator. You do not need to get the password information for this user, just the email address will work.
    private string Username = HttpContext.Current.User.Identity.Name.Split('\\').Last(); //extract the username out of the "Domain\Username" format. It doesn't have to be the currently logged in user. As per your need you can use the username of any other company user for whom you know the email address.
    protected string ImpersonatedEmailAddress ;//= Username +"@"+ WebConfigurationManager.AppSettings["EmailDomain"];
    //start impersonation setup block. Credits: Impersonate a Specific User in Code http://support.microsoft.com/kb/306158#4
    public const int LOGON32_LOGON_INTERACTIVE = 2;
    public const int LOGON32_PROVIDER_DEFAULT = 0;
    WindowsImpersonationContext impersonationContext;
    [DllImport("advapi32.dll")]
    public static extern int LogonUserA(String lpszUserName,
    String lpszDomain,
    String lpszPassword,
    int dwLogonType,
    int dwLogonProvider,
    ref IntPtr phToken);
    [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern int DuplicateToken(IntPtr hToken,
    int impersonationLevel,
    ref IntPtr hNewToken);
    [DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    public static extern bool RevertToSelf();
    [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    public static extern bool CloseHandle(IntPtr handle);
    //end impersonation setup block;
    protected void Page_Load(object sender, EventArgs e)
    ImpersonatedEmailAddress = Username + "@" + WebConfigurationManager.AppSettings["EmailDomain"]; //form the email address out of the username, provided they both are same
    service = new ExchangeService(ExchangeVersion.Exchange2010);
    //service.UseDefaultCredentials = true;
    service.Credentials = new WebCredentials(ImpersonatorUsername, ImpersonatorPassword, ImpersonatorDomain);
    service.Url = new Uri(WebConfigurationManager.AppSettings["EWSURL"]);
    service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, ImpersonatedEmailAddress);
    SetAppointment("Test", DateTime.Now, "Test");
    public void SetAppointment(string Subject, DateTime AptDateTime, string Body)
    Appointment apt = new Appointment(service);
    apt.Subject = Subject;
    apt.Body = Body;
    apt.Body.BodyType = BodyType.HTML;
    apt.Start = AptDateTime;
    apt.End = apt.Start.AddMinutes(30.00);
    apt.ReminderMinutesBeforeStart = 15;
    apt.IsReminderSet = true;
    if (impersonateValidUser(ImpersonatorUsername, ImpersonatorDomain, ImpersonatorPassword)) //For this code to work you will have to enable impersonation on the Exchange server. This code works on the web application running on the company server, but not from my XP PC that is not part of the domain but is on VPN connection.
    HttpContext.Current.Trace.Write("Before Saving Appointment. System.Security.Principal.WindowsIdentity.GetCurrent().Name = " + System.Security.Principal.WindowsIdentity.GetCurrent().Name);
    apt.Save(SendInvitationsMode.SendToNone);
    HttpContext.Current.Trace.Write("After Saving Appointment.");
    Label1.Text = String.Format("Appointment set successfully for {0}", ImpersonatedEmailAddress);
    else //fall back to the code that uses logged in user's window identity and not impersonation. This code "strangely" worked from the web application installed on my Windows XP PC that was not part of the domain but was on VPN connection and yet saved appointments on the company's exchange server. I guess, the VPN connection compensates for all the mumbo-jumbo round about impersonation code in the impersonateValidUser method. Hack, this code worked even I had not configured the impersonation on the exchange server as they tell you to do at this link: http://msdn.microsoft.com/en-us/library/office/bb204095(v=exchg.140).aspx
    service.Credentials = null;
    service.ImpersonatedUserId = null;
    service.UseDefaultCredentials = true;
    HttpContext.Current.Trace.Write("Before Impersonation: System.Security.Principal.WindowsIdentity.GetCurrent().Name = " + System.Security.Principal.WindowsIdentity.GetCurrent().Name);
    //this is not impersonation. It uses the logged in user's window identity. The window identity does not have to be that of the company domain. The windows identity of Local PC that is not part of the domain will also work
    System.Security.Principal.WindowsImpersonationContext impersonationContext;
    impersonationContext = ((System.Security.Principal.WindowsIdentity)HttpContext.Current.User.Identity).Impersonate();// //System.Threading.Thread.CurrentPrincipal.Identity
    HttpContext.Current.Trace.Write("Before Saving Appointment. System.Security.Principal.WindowsIdentity.GetCurrent().Name = " + System.Security.Principal.WindowsIdentity.GetCurrent().Name);
    apt.Save(SendInvitationsMode.SendToNone);
    impersonationContext.Undo();
    //impersonation methods. Credit: Impersonate a Specific User in Code: http://support.microsoft.com/kb/306158#4
    private bool impersonateValidUser(String userName, String domain, String password)
    WindowsIdentity tempWindowsIdentity;
    IntPtr token = IntPtr.Zero;
    IntPtr tokenDuplicate = IntPtr.Zero;
    if (RevertToSelf())
    if (LogonUserA(userName, domain, password, LOGON32_LOGON_INTERACTIVE,
    LOGON32_PROVIDER_DEFAULT, ref token) != 0)
    if (DuplicateToken(token, 2, ref tokenDuplicate) != 0)
    tempWindowsIdentity = new WindowsIdentity(tokenDuplicate);
    impersonationContext = tempWindowsIdentity.Impersonate();
    if (impersonationContext != null)
    CloseHandle(token);
    CloseHandle(tokenDuplicate);
    return true;
    if (token != IntPtr.Zero)
    CloseHandle(token);
    if (tokenDuplicate != IntPtr.Zero)
    CloseHandle(tokenDuplicate);
    return false;
    private void undoImpersonation()
    impersonationContext.Undo();
     

  • ConversationId property vs ConversationIndex property in Exchange Web Services managed API

    EWS Managed API have two properties:ConversaionId and ConversationIndex
    What is the difference between them? I guess ConversationId is
    the the ConversationIndex of
    the first mail in the conversation which is essentially of 22 bytes, while ConversationIndex is
    the index of that particular reply in the conversation thread, essentially of 22 bytes + multiples of 5 bytes for each reply in the conversation. Is it like that?
    Also ConversationId is
    accessible only with Exchange Server 2010 onwards. So cant we access ConversationId in
    the Exchange Server 2007?

    I just found this thread that indicates that you can use an extended property definition to access the ConversationId in Exchange 2007. Very smart!
    http://stackoverflow.com/questions/7487570/implementing-outlook-2010s-group-by-conversation-using-ews-and-exchange-2007
    Henning's answer:
    You can fetch the ConversationId and the ConversationIndex via extended properties:
    private static readonly ExtendedPropertyDefinition ConversationIdProperty = new ExtendedPropertyDefinition(0x3013, MapiPropertyType.Binary);
    private static readonly ExtendedPropertyDefinition ConversationIndexProperty = new ExtendedPropertyDefinition(0x0071, MapiPropertyType.Binary);
    var items = service.FindItems(WellKnownFolderName.Inbox, new ItemView(512) { PropertySet = new PropertySet(BasePropertySet.FirstClassProperties,
    ConversationIdProperty, ConversationIndexProperty)});
    Both are binary properties. Their content is described in great detail here:
    [MS-OXOMSG]: E-Mail Object Protocol Specification, section 2.2.1.2 and 2.2.1.3.
    The properties themselves are defined in
    [MS-OXPROPS]: Exchange Server Protocols Master Property List.

  • Outbound TLS web services from api gateway

    Hello,
    We want to call a webservice with TLS 1.1. OR 1.2 from the api gateway.
    This is the error i get:
      transient failure connecting to remote: peer disconnected unexpectedly.

    Hi,
    I will assuming you actually mean TLS and not LTS.
    If you want to use a specific Cipher you have to specify a custom list in your connection filter in the Ciphers field instead of DEFAULT.
    List of ciphers: https://www.openssl.org/docs/apps/ciphers.html
    Example in this screenshot.
    Another common reason for the specific error message you don't have a CA Certificate in your certificate store for the endpoint you are trying to establish a connection to.
    Cheers,
    Stefan

  • Best Way to Expose our JAVA API as web service

    we have develop an API and now, we want these API available as web services. the API abstracts the developer from database connection and the developer has to only concern himself of the object model. our problem with this API is that if we distribute this to our co-developers, their applications will be connecting directly to our database. but if we have this as a webservice, the connections to the databse will be isolated between the host that's running the webservice and the database.
    what's the best way to move these API/objects to webservices? what are our options?
    thanks,

    You can pretty much put anything you want into a web service. But remember they are designed for network/internet calls so it might make sense to bulk wrap your API calls. Due to the large amount of XML that is required by a web service if your API is large and you will have many webservices you probably want to get a tool that can generate this for you.

  • Java API or Web Service for PDF generator for PostScript?

    Hello Guys,
    We acquired the evaluation version of the LiveCycle PDF generator for PostScript software and are in the process of acquiring information regarding the web-service / java api option but we can't seem to find extensive documentation or sample code.
    The provided documentation gives some information on the different methods that can be used for web service but nothing extensive on how to use them properly in context. The documentation mentions java code samples on the developer ressource but I can't seem to get my hands on anything useful.
    I looked around for quite some time on the developer ressource site but I must say it is not very easy to use. We are buried under a ton of useless information and the search functionality doesn't seem to yield interresting results.
    Are we missing something obvious?
    Regards
    Jeff Michaud

    Hi Jeff, I am in the exact same situation... I've been trying to find a document, just an overall user guide for the tool... nothing.
    Even on the phone no one was able to answer me where that doc was. Does it exist?
    Has anyone found a doc containing the information describing the APIs and on how to use the Web Services? Jeff, did you find something usefull yet?
    Thanks!
    Pierre-Yves

  • API/Web Service/CLI

    Does VIN have a CLI, Web Service or API to interact with, and schedule or automate tasks ?

    VIN does not have an officially supported API.
    But there are unofficial ways to interact with VIN, see William Lam blog post on the subject -
    http://www.virtuallyghetto.com/2012/11/extracting-information-from-vin-vsphere_6.html

  • Multiple web services on single server causing object undefined errors

    Hi,
    I've currently got a bit of a strange problem within a web service that is proving difficult to debug.
    There are the web service urls :
         api.domain.com                -> /var/www/html/api.domain.com/            -> CF mapping to MYSERVICE
         testapi.domain.com          -> /var/www/html/testapi.domain.com/     -> CF mapping to MYSERVICE_test
    In both instances the cfcs that contain the code to be translated into a WSDL reside in /api/..., in the case of this example, /api/common.cfc.  wsargs constists simply of refreshwsdl true.
    If I call the following 2 lines ...
         obj_myservice = CreateObject('webservice','http://api.domain.com/api/common.cfc?wsdl',wsargs);
         obj_myservice_test = CreateObject('webservice','http://testapi.domain.com/api/common.cfc?wsdl',wsargs);
    I then call the same method in both, and they are successful.  When checking the "Data & Services" -> "Web Services" panel within the CF control panel, only the web service "http://api.domain.com/api/common.cfc?wsdl" is listed, and not testapi.domain.com......
    If I reverse the order in which the WSDL's are loaded then this switches, and testapi.domain.com..... gets listed under "Web Services" but api.domain.com..... does not.  In essence it appears as though for some reason the CF server overwrites one with the other.  The exact "object undefined" error is proving difficult to reproduce reliably.
    This appears to happen no matter which server is accessing the web service, be it the same server or a remote server.  All servers involved are running CF8.  Accessing the 2 WSDL files in a browser results in the 2 WSDLs being rendered correctly with different namespace values.
    On the same server are 2 more services
         MYSERVICE2
         MYSERVICE2_test
    These reside in the /api2 directories on the same 2 subdomains, api. and testapi.   MYSERVICE2 and MYSERVICE2_test appear to conflict with each other.  MYSERVICE and MYSERVICE_test appear to conflict with each other.  MYSERVICE and MYSERVICE2 do not appear to conflict with each other.
    Is there a configuration change or anything like that which I should be aware of that would prevent me doing the above?  The 2 /api/ directories are nearly identical with the exception that the namespace and complex type names have been set to http://api.domain.com & MYSERVICE in the first, and http://testapi.domain.com & MYSERVICE_test in the second url.
    I have also tried mapping /MYSERVICE and /MYSERVICE_test within /opt/coldfusion8/WEB-INF/jrun-web.xml to no avail.
    Any help would be appreciated.  If there is any useful information that I have missed off please let me know and I'll dig it out.
    - Simon H

    Hi,
    As an extension to the above
    Server                Test service         "Live" service
    1 ("dev")                devtest                   devlive               http://dev(test/live).domain.com
    2 ("test")                testtest                   testlive               http://test(test/live).domain.com
    I currently have a test script (TEST1) that performs the following :
    CreateObject + call method from devlive
    CreateObject + call method from devtest
    CreateObject + call method from testtest
    The script errors on the third, when it attempts to call a method from devtest.  On the server on which this test script is running, by the end of this, there are the following 2 web services in the Coldfusion control panel :
    http://devlive.domain.com/api/common.cfc?wsdl
    http://testtest.domain.com/api/common.cfc?wsdl
    I have a second test script (TEST2) on a second server distinctfrom the first test script server, on which the following is performed :
    CreateObject + call method from testlive
    If I execute TEST2, then it executes fine.  If I execute TEST1 straight after, then I receive the following error on TEST1
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: Deserializing parameter 'objectFetchReturn':  could not find deserializer for type {http://common.types.WEBSERVICE_test}details
    Where WEBSERVICE.types.common.details is a complex type (/api/types/common/details.cfc). If I then run the TEST2 script again straight after, the same error appears (with WEBSERVICE in place of WEBSERVICE_test).  If I execute TEST2 twice in a row, or TEST1 twice in a row, then the error disappears"test" server has got jrun-web.xml  edited to include the following, which "dev" does not.
      <virtual-mapping>
        <resource-path>/WEBSERVICE_test</resource-path>
        <system-path>/var/www/html/testapi.domain.com/api</system-path>
      </virtual-mapping>
      <virtual-mapping>
        <resource-path>/WEBSERVICE</resource-path>
        <system-path>/var/www/html/api.domain.com/api</system-path>
      </virtual-mapping>
    I hope that this extended explaination helps.
    Simon H

Maybe you are looking for