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.
Similar Messages
-
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 VEHello,
Thank you for your sharing.
If you have any feedback on our support, please click
here
Cara Chen
TechNet Community Support -
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; -
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. -
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();
-
How to call a web service that is managed by web services manager from omni
Ok gurus... here is an interesting one for you.
We have a set of web services that are deployed to our server. We have Oracle Web Services Manager deployed to another server and is acting as a gateway to our web services.
We would like to call our web service and pass it the username and password that were specified in the omniportlet connection information screen. How do we go about doing this?
PS. We are using the latest version of portal (10.1.4).
Thanks for your help.
Cheers,
CoryJust a follow up. What I would like to do is to have omni portlet add standard header information for security such as the following:
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken xmlns:wsse="http://docs.oasis-open.org/wss/200401-wss-wssecurity-secext-1.0.xsd">
<wsse:Username>theusername</wsse:Username>
<wsse:Password>thepassword</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
Any ideas on how to get omniportlet do this? Any ideas on where to look for the answer? Oracle dudes: Any plans to add this to future releases?
Thanks again folks :-)
Cory -
Confirming method to secure web services through oracle web service manager
Hi All,
I am just wondering about the method to secure web service through oracle web service manager.
I have a unsecure web service "helloworld" which is deployed on JWSDP1.6 toolkit.I want to secure it through oracle web service manager.
Inorder to secure this unsecure web service,I use gateway(web service manager for securing web service using message level security through certificate).
So when client want to access the helloworld service,it contacts the gateway securely and gateway intern connect to original web service after decrypting and verification of the signature.When gateway gets response from the web service,it signs the response message and then encrypt and passs on to the client.
So my question is,is it the right way to secure web service?
As I am getting the following fault exception :
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode "http://schemas.oblix.com/ws/2003/08/Faults">c</faultcode>
<faultstring>Step execution failed with an exception
</faultstring>
<detail></detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I checked the log at :
C:\coresv_install_home\external\oc4j-10.1.2.0.0\j2ee\home\log\http-web-access
but there is no helpful information available.Thanks for any help.
KashHi Rajesh,
Thanks for your reply.I am using the following policy steps:
1)for Request (Decrypt and Verify signature).
2)for Response(Sign Message and Encrypt).
The configuration for Request is shown below:
Pipeline "Request"
Pipeline Steps:
Start Pipeline
Log
Decrypt and Verify Signature
Basic Properties Type Default Value
Enabled (*) boolean true true
XML Decryption Properties Type Default Value
Decryptor''s keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
Decrypt Keystore Type (*) string jks jks
Decryptor''s keystore password string *******
Decryptor''s private-key alias (*) string s1as
Decryptor''s private-key password string *******
Enforce Encryption (*) boolean true true
XML Signature Verification Properties Type Default Value
Verifying Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
Verifying Keystore type (*) string jks jks
Verifying Keystore password string *******
Signer''s public-key alias (*) string xws-security-client
Enforce Signing (*) boolean true true
End Pipeline
And the configuration for Response is shown below:
Pipeline "Response"
Pipeline Steps:
Start Pipeline
Log
Sign Message and Encrypt
Basic Properties Type Default Value
Enabled (*) boolean true true
Signing Properties Type Default Value
Signing Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
Signing Keystore Type (*) string jks jks
Signing Keystore password string *******
Signer''s private-key alias (*) string s1as
Signer''s private-key password string *******
Signed Content (*) string BODY BODY
Sign XPATH Expression string
Sign XML Namespace string[]
Encryption Properties Type Default Value
Encryption Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
Encrypt Keystore Type (*) string jks jks
Encryption Keystore password string *******
Decryptor''s public-key alias (*) string xws-security-client
Encrypted Content (*) string BODY BODY
Encrypt XPATH Expression string
Encrypt XML Namespace string[]
End Pipeline
I checked the log again but nothing useful there,it is just giving the following values:
2006-08-14 16:32:50,372 INFO [Thread-21] mstore.OLiteMStore - SELECT MEASUREMENT_STR FROM MEASUREMENT_PERSISTED_STORE WHERE ID=? FOR UPDATE
2006-08-14 16:34:50,364 INFO [Thread-16] mstore.OLiteMStore - INSERT INTO MEASUREMENT_PERSISTED_STORE (ID,DEF_ID,CONTEXT_ID,PARENT_CONTEXT_ID,TIME,STORETIME,KEY0,KEY1,KEY2,KEY3,KEY4,KEY5,KEY6,KEY7,KEY8,KEY9,KEY10,KEY11,KEY12,KEY13,KEY14,KEY15,KEY16,KEY17,KEY18,KEY19,KEY20,KEY21,KEY22,KEY23,KEY24,KEY25,KEY26,KEY27,KEY28,KEY29,KEY30,KEY31,KEY32,KEY33,KEY34,KEY35,KEY36,KEY37,KEY38,KEY39,DBM0,MEASUREMENT_STR) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,'R',empty_clob())
2006-08-14 16:34:50,364 INFO [Thread-16] mstore.OLiteMStore - SELECT MEASUREMENT_STR FROM MEASUREMENT_PERSISTED_STORE WHERE ID=? FOR UPDATE
Any help would be appreciated.Thanks.
Kash -
Failed to Install the "Oracle Web Services Manager Configuration Assistant"
The installation of "Oracle Web Services Manager Configuration Assistant" was failed when I installed the "Oracle SOA Suite 10.1.3.1.0" ,and the failure information about the installation in the log show as follows, I need your help,thanks a lot!
start-olite:
Starting OLite in background ...
Running:D:\product\10.1.3.1\OracleAS_1\integration\esb\sql\other\wfeventc.sql
Exception in thread "main" oracle.tip.esb.install.exception.InstallationDBException: Failed to execute sql file"D:\product\10.1.3.1\OracleAS_1\integration\esb\sql\other\wfeventc.sql"
at oracle.tip.esb.install.db.RunSQLScript.runScript(Unknown Source)
at oracle.tip.esb.install.db.RunSQLScript.runScriptListInternal(Unknown Source)
at oracle.tip.esb.install.db.RunSQLScript.runScriptList(Unknown Source)
at oracle.tip.esb.install.db.NonOracleDB.runScripts(Unknown Source)
at oracle.tip.esb.install.db.OLite.install(Unknown Source)
at oracle.tip.esb.install.db.InstallerMain.main(Unknown Source)
Caused by: java.sql.SQLException: [POL-3023] ????????
at oracle.lite.poljdbc.LiteThinJDBCConnection.thinSQLError(Unknown Source)
at oracle.lite.poljdbc.LiteThinJDBCConnection.thinDriverConnect(Unknown Source)
at oracle.lite.poljdbc.LiteThinJDBCConnection.connect(Unknown Source)
at oracle.lite.poljdbc.LiteThinJDBCFactory.createConnection(Unknown Source)
at oracle.lite.poljdbc.POLJDBCConnection.<init>(Unknown Source)
at oracle.lite.poljdbc.OracleConnection.<init>(Unknown Source)
at oracle.lite.poljdbc.POLJDBCDriver.connect(Unknown Source)
at oracle.tip.esb.install.db.DriverManagerDataSource.getConnection(Unknown Source)
... 6 more
Java Result: 1
Importing Default System ...
${env.PCHOME}
stop-olite:
Stopping background OLite process ...
CA::DEBUG:******:Finished OLite Install ...
Finished Olite configuration ...
BUILD SUCCESSFUL
Total time: 12 seconds
Exit: 0
TASK: oracle.tip.esb.install.tasks.ConfigureOC4J
Configuring OC4J ...
id value is 2
id value is IASPT
process-type value is 1
id value is 3
id value is IASPT
id value is 3
id value is ASG
process-type value is 1
id value is 2
id value is ASG
id value is 1
id value is default_group
process-type value is 1
id value is 3
id value is home
process-type value is 1
process-type value is 2
process-type value is 1
final map size value is 2
id value is -Xrs -server -XX:MaxPermSize=128M -ms512M -mx1024M -XX:AppendRatio=3 -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false
Jun 22, 2010 2:39:09 PM oracle.tip.esb.install.tasks.ConfigureOC4J getOpmnRequestPort
INFO: Port value is 6003
D:\product\10.1.3.1\OracleAS_1\jdk\bin\java -Dant.home=D:\product\10.1.3.1\OracleAS_1\ant -classpath D:\product\10.1.3.1\OracleAS_1\ant\lib\ant.jar;D:\product\10.1.3.1\OracleAS_1\ant\lib\ant-launcher.jar;D:\product\10.1.3.1\OracleAS_1\integration\esb\lib\ant-contrib-1.0b1.jar org.apache.tools.ant.Main -Dinstall.type=SoaBasic -Desb.home=D:\product\10.1.3.1\OracleAS_1\integration\esb -Doc4j.home.dir=D:\product\10.1.3.1\OracleAS_1 -Djava.home=D:\product\10.1.3.1\OracleAS_1\jdk -Doracle.home=D:\product\10.1.3.1\OracleAS_1 -Dhost.name=dpxc67-01 -Ddb.vendor=olite -Dimport.export.db_url=jdbc:polite4@localhost:1531:oraesb -Desb.appserver=ias_10.1.3 -Doc4j.design_time_host=dpxc67-01 -Doc4j.design_time_port=8888 -Dprimary.container=home -Dinstall.mode=OracleInstallerias_10.1.3_SoaBasic -Dsso=true -Dinstall.component=install-developer -Dias.name=soademo.dpxc67-01 -Denv.OC4J_STANDALONE_HOME=D:\product\10.1.3.1\OracleAS_1 -Dias_admin.password=*password cannot be displayed* -Denv.JAVA_HOME=D:\product\10.1.3.1\OracleAS_1\jdk -Denv.SERVER_ADMIN_PASSWORD=*password cannot be displayed* -Dopmn.requestport=6003 -Ddb.vendor=olite -Ddb.connect.string=jdbc:polite4@localhost:1531:oraesb -Ddb.username=system -Dias.virtual_host=dpxc67-01 -Denv.DB_USER=system -Denv.DB_URL=jdbc:polite4@localhost:1531:oraesb -Desb.oc4j.container=home -Denv.DB_PASSWORD=*password cannot be displayed* -Ddb.password=*password cannot be displayed* -e -buildfile esbinstall.xml deploy-applications
Buildfile: esbinstall.xml
Trying to override old definition of datatype echoproperties
common_update_server.xml:
Adding shared library apache.junit ...
Adding shared library oracle.db.lite ...
Adding shared library apache.commons 10.1.3 ...
Adding shared library apache.jdom ...
Adding shared library apache.slide ...
Running batch script by:
java admin_client.jar deployer:oc4j:opmn://dpxc67-01:6003/home -script D:\product\10.1.3.1\OracleAS_1\integration\esb\install\ant-tasks/esb_admin_client_script_sl.txt
publishSharedLibrary command was successful
publishSharedLibrary command was successful
publishSharedLibrary command was successful
publishSharedLibrary command was successful
publishSharedLibrary command was successful
publishSharedLibrary command was successful
update_server.xml:
Adding shared library oracle.esb ...
deployer.url: deployer:oc4j:opmn://dpxc67-01:6003/home
publishSharedLibrary command was successful
deploy-applications:
Deploying ESB design time ...
Binding ESB design time ...
Deploying ESB run time ...
Binding ESB runtime ...
Deploying orainfra.ear ...
Binding orainfra ...
Running batch script by:
java admin_client.jar deployer:oc4j:opmn://dpxc67-01:6003/home -script D:\product\10.1.3.1\OracleAS_1\integration\esb\install\ant-tasks/esb_deployapps.txt
10/06/22 14:39:20 Notification ==>Application Deployer for esb-dt STARTS.
10/06/22 14:39:20 Notification ==>Copy the archive to D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-dt.ear
10/06/22 14:39:20 Notification ==>Initialize D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-dt.ear begins...
10/06/22 14:39:20 Notification ==>Unpacking esb-dt.ear
10/06/22 14:39:21 Notification ==>Done unpacking esb-dt.ear
10/06/22 14:39:21 Notification ==>Unpacking esb_console.war
10/06/22 14:39:22 Notification ==>Done unpacking esb_console.war
10/06/22 14:39:22 Notification ==>Unpacking esb-jca-dt.rar
10/06/22 14:39:22 Notification ==>Done unpacking esb-jca-dt.rar
10/06/22 14:39:22 Notification ==>Initialize D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-dt.ear ends...
10/06/22 14:39:22 Notification ==>Starting application : esb-dt
10/06/22 14:39:22 Notification ==>Initializing ClassLoader(s)
10/06/22 14:39:22 Notification ==>Initializing EJB container
10/06/22 14:39:22 Notification ==>Loading connector(s)
10/06/22 14:39:22 Notification ==>Starting up resource adapters
10/06/22 14:39:23 Notification ==>Warning. Unable to set up connection factory to location esb-dt for a resource adapter in {1}
10/06/22 14:39:23 Notification ==>Initializing EJB sessions
10/06/22 14:39:23 Notification ==>Committing ClassLoader(s)
10/06/22 14:39:23 Notification ==>Initialize esb_console begins...
10/06/22 14:39:23 Notification ==>Initialize esb_console ends...
10/06/22 14:39:23 Notification ==>Started application : esb-dt
10/06/22 14:39:23 Notification ==>Application Deployer for esb-dt COMPLETES. Operation time: 2875 msecs
10/06/22 14:39:23 Notification ==>Application Deployer for esb-rt STARTS.
10/06/22 14:39:23 Notification ==>Copy the archive to D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-rt.ear
10/06/22 14:39:23 Notification ==>Initialize D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-rt.ear begins...
10/06/22 14:39:23 Notification ==>Unpacking esb-rt.ear
10/06/22 14:39:23 Notification ==>Done unpacking esb-rt.ear
10/06/22 14:39:23 Notification ==>Unpacking provider-war.war
10/06/22 14:39:23 Notification ==>Done unpacking provider-war.war
10/06/22 14:39:23 Notification ==>Unpacking esb-jca-rt.rar
10/06/22 14:39:23 Notification ==>Done unpacking esb-jca-rt.rar
10/06/22 14:39:23 Notification ==>Initialize D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-rt.ear ends...
10/06/22 14:39:23 Notification ==>Starting application : esb-rt
10/06/22 14:39:23 Notification ==>Initializing ClassLoader(s)
10/06/22 14:39:23 Notification ==>Initializing EJB container
10/06/22 14:39:23 Notification ==>Loading connector(s)
10/06/22 14:39:23 Notification ==>Starting up resource adapters
10/06/22 14:39:23 Notification ==>Warning. Unable to set up connection factory to location esb-rt for a resource adapter in {1}
10/06/22 14:39:23 Notification ==>Initializing EJB sessions
10/06/22 14:39:23 Notification ==>Committing ClassLoader(s)
10/06/22 14:39:23 Notification ==>Initialize provider-war begins...
10/06/22 14:39:23 Notification ==>Initialize provider-war ends...
10/06/22 14:39:23 Notification ==>Started application : esb-rt
10/06/22 14:39:23 Notification ==>Application Deployer for esb-rt COMPLETES. Operation time: 203 msecs
10/06/22 14:39:24 Notification ==>Application Deployer for orainfra STARTS.
10/06/22 14:39:24 Notification ==>Copy the archive to D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\orainfra.ear
10/06/22 14:39:24 Notification ==>Initialize D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\orainfra.ear begins...
10/06/22 14:39:24 Notification ==>Unpacking orainfra.ear
10/06/22 14:39:24 Notification ==>Done unpacking orainfra.ear
10/06/22 14:39:24 Notification ==>Unpacking orainfra.war
10/06/22 14:39:24 Notification ==>Done unpacking orainfra.war
10/06/22 14:39:24 Notification ==>Initialize D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\orainfra.ear ends...
10/06/22 14:39:24 Notification ==>Starting application : orainfra
10/06/22 14:39:24 Notification ==>Initializing ClassLoader(s)
10/06/22 14:39:24 Notification ==>Initializing EJB container
10/06/22 14:39:24 Notification ==>Loading connector(s)
10/06/22 14:39:24 Notification ==>Starting up resource adapters
10/06/22 14:39:24 Notification ==>Initializing EJB sessions
10/06/22 14:39:24 Notification ==>Committing ClassLoader(s)
10/06/22 14:39:24 Notification ==>Initialize orainfra begins...
10/06/22 14:39:24 Notification ==>Initialize orainfra ends...
10/06/22 14:39:24 Notification ==>Started application : orainfra
10/06/22 14:39:24 Notification ==>Application Deployer for orainfra COMPLETES. Operation time: 219 msecs
dehydrationStore:
Configuring data sources for olite dehydration store ...
${env.PCHOME}
install-developer:
design time host dpxc67-01
design time port 8888
primary container home
the host is dpxc67-01and the port is 8888
Exception in thread "main" oracle.tip.esb.install.exception.InstallationDBException: Connection Refused ""
at oracle.tip.esb.install.db.NonOracleDB.runConnectionTest(Unknown Source)
at oracle.tip.esb.install.db.NonOracleDB.load(Unknown Source)
at oracle.tip.esb.install.ESBInstaller.setupDB(Unknown Source)
at oracle.tip.esb.install.ESBInstaller.handleDesignTimeSpecificActions(Unknown Source)
at oracle.tip.esb.install.ESBInstaller.main(Unknown Source)
Caused by: java.sql.SQLException: [POL-3023] ????????
at oracle.lite.poljdbc.LiteThinJDBCConnection.thinSQLError(Unknown Source)
at oracle.lite.poljdbc.LiteThinJDBCConnection.thinDriverConnect(Unknown Source)
at oracle.lite.poljdbc.LiteThinJDBCConnection.connect(Unknown Source)
at oracle.lite.poljdbc.LiteThinJDBCFactory.createConnection(Unknown Source)
at oracle.lite.poljdbc.POLJDBCConnection.<init>(Unknown Source)
at oracle.lite.poljdbc.OracleConnection.<init>(Unknown Source)
at oracle.lite.poljdbc.POLJDBCDriver.connect(Unknown Source)
at oracle.tip.esb.install.db.DriverManagerDataSource.getConnection(Unknown Source)
... 5 more
Java Result: 1
Copying 1 file to D:\product\10.1.3.1\OracleAS_1\j2ee\home\lib\ext
set_app_sso_option:
Using sso=true. Redeploying esb-dt with sso
Copying 1 file to D:\product\10.1.3.1\OracleAS_1\j2ee\home\applications\esb-dt\META-INF
Copying 1 file to D:\product\10.1.3.1\OracleAS_1\j2ee\home\application-deployments\esb-dtIt could be due to system language setting -
install SOA Suite failed
Regards,
Anuj -
Exception while accessing web service secure through web services Manager
Hi All,
I deployed sime Hello World web service on JWSDP1.6 and secure it through web service manager(gateway) using Certificate based security.But when I try to access this web service using JWSDP client,I got the following Error while monitoring the soap messages through TCP-Monitor:
/////////////////////////////////Request///////////////////////////////////////////////////////////////
POST /gateway/services/SID0003009 HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Length: 5631
SOAPAction: ""
User-Agent: Java/1.5.0_05
Host: ivy.cs.ucl.ac.uk:8082
Connection: keep-alive
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://hello.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><env:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" env:mustUnderstand="1"><xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference>
<wsse:KeyIdentifier EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier">eN9famBBWzHNUIwWRhMPktcM+VQ=</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>MHjtgA4wOtvI1B+SuRVEmD07yE+jl6axd4XbJ0nvQ3EzSuVVoST9vHzURh+B47yj41187s8T+yjt
Bmpk9OB278Jghonkacv6r+q+LVlxRrQDudNGir7plzFeM6bUadMxf+FLgn5O0a44vU/tvy6V9+zi
yqFdhTvS21No/aW62No=</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference URI="#XWSSGID-1155126003241-1198323932"/></xenc:ReferenceList></xenc:EncryptedKey><wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="XWSSGID-11551260018331598979688">MIIC3TCCAkagAwIBAgIBATANBgkqhkiG9w0BAQQFADBJMQswCQYDVQQGEwJVUzEMMAoGA1UECBMD
U0NBMQwwCgYDVQQKEwNTVU4xHjAcBgNVBAMTFWNlcnRpZmljYXRlLWF1dGhvcml0eTAeFw0wNjAz
MTkxMzQ5MDJaFw0xNjAzMTYxMzQ5MDJaMEcxCzAJBgNVBAYTAlVTMQwwCgYDVQQIEwNTQ0ExDDAK
BgNVBAoTA1NVTjEcMBoGA1UEAxMTeHdzLXNlY3VyaXR5LWNsaWVudDCBnzANBgkqhkiG9w0BAQEF
AAOBjQAwgYkCgYEAzNDPKUz1MhUH1LsrLqXKxciOKSWeTrdoe/SVwe/4uy5eobAWSsSTposaOYFy
uxf3cGCCIs7u0jMAXLQ9jzobDbt9XQ4tXPoBzKKzS+yU6hDk2TcOCkioeT9A9db5LF8yevhwXKB4
AJ1Eh//Dp/djoonXCCxsxupQZp3ueRJrR98CAwEAAaOB1jCB0zAJBgNVHRMEAjAAMCwGCWCGSAGG
+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUECH05VC3/WGW
H4AGD6tnH0h+kFUweQYDVR0jBHIwcIAUdry1wGRZ2fyJSKisVSxpMEmIiaahTaRLMEkxCzAJBgNV
BAYTAlVTMQwwCgYDVQQIEwNTQ0ExDDAKBgNVBAoTA1NVTjEeMBwGA1UEAxMVY2VydGlmaWNhdGUt
YXV0aG9yaXR5ggkA4HaEvd6hq8YwDQYJKoZIhvcNAQEEBQADgYEA0RhOk67pCrO6MgZZGqrmAMW6
76fZowBxTKlFq88nrf8v1MUxV8H9wgbTDrwR0HtxY3TGpDFw2tNAww2pyDX/pQ2Wt46ichluGxjf
aEV53loKTOM7syAmlicWqViGzBfgzriIl918TzFaX9BD/Y55bKZQk057maBCSkUuFfF453s=</wsse:BinarySecurityToken><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wsse enc env ns0 xsd xsi"/></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#XWSSGID-1155126002593447652186"><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>UJ1kuwI+WuF/RkrQpZrj1GvraLI=</ds:DigestValue></ds:Reference><ds:Reference URI="#XWSSGID-1155126002602761294100"><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>sKG/z5OIGgqJ2nw7JtpXyJzr8pY=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>SBc65VTG1xpEkRUTz70H0fVGIgoBJ0QnNad0k07RMSfw4vG1WHJdt19R05pO2AvU5aoYuBSaguJe
ZGEjmWzw8mnSWKBi+zeDMeJiwgqwW6HHHX9P7JDslxuTIqoJIVUbSjUTSVz6ww8siIK65quXdkMT
ZzLfp7Cd0gBuA3EEZpg=</ds:SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="XWSSGID-11551260025411896275738">
<wsse:Reference URI="#XWSSGID-11551260018331598979688" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature><wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="XWSSGID-1155126002602761294100"><wsu:Created>2006-08-09T12:20:02Z</wsu:Created><wsu:Expires>2006-08-09T12:20:07Z</wsu:Expires></wsu:Timestamp></wsse:Security></env:Header><env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="XWSSGID-1155126002593447652186"><xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="XWSSGID-1155126003241-1198323932" Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/><xenc:CipherData><xenc:CipherValue>XNqEzHNp47ILtOagAUNCXYkxOCWv4CjHqmZ7j6VKN/NO96ce4BsNSL6lKzqa9dPxHB1sTVGZQ8KA
COQ6DGwyWCP8ip+CU2hor3uUAml7nzHTx1LUw3Db+0p31VAT3EqKJA3aFy38GQrBTr9ojMOUA6tm
Cj71yucN3UCKRUl3RpE8qU68y7AwNxPsyAZeSa2AVm2cmWvSDZlxgMsx+JCEZaf3+D0o1zMp0Fxb
MSISPt/JrEolt1H5UM1AoFGU4QkckWrQNLPyEF9oxEgZ8oCE5U8v/YJwZIAHFrx67XfaLwQLjzXw
VPigsH9gLkfbP2BU8Vp31GsPwBZtUeNz9S35+CZPD7EiqoAB1QuAxZkJV7n00VChYH+scT64tNja
c81bcD8tf4sAr7toCMNDAU6+74+Qy0EyPqgwLtotDxErn4kF8e72cONMMQBQ91tQs+iI+D6C1I6+
f9UiSfgtm/MTuKQK1CRqarEtI9N6lpqVH8k7ulUwH/jFstihxmhMJ3aZY+qQgSwSs3pwSSim+e18
eR7dOEq4vG8ivKuGvTDO4sSV2RP/nL/3eXr0y7eM0kMFKwTUA4JqL4Y/l8Bo/rie/ZXkkbF6hwEu
dX1QmB0gf5k=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></env:Body></env:Envelope>
////////////////////////////////Response///////////////////////////////////////////////////////////////
HTTP/1.1 100 Continue
Server: Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)
Date: Wed, 09 Aug 2006 12:28:47 GMT
HTTP/1.1 500 Internal Server Error
Date: Wed, 09 Aug 2006 12:28:47 GMT
Server: Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)
Connection: Keep-Alive
Keep-Alive: timeout=15, max=100
Content-Type: text/xml
Transfer-Encoding: chunked
157
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode xmlns:p="http://schemas.oblix.com/ws/2003/08/Faults">c</faultcode><faultstring>Step execution failed with an exception</faultstring><detail></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
0
So basically, what I am doing here as follows:
HelloClient(using JWSPD1.6)->gateway(web service manager for securing the web service using message level security through certificate )->helloservice(deployed using JWSDP1.6)
I would appreciate if someone could tell me the cause of this errror.Thanks.
Kashiftime to look into the gateway logs as stated by the fault ..
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode xmlns:p="http://schemas.oblix.com/ws/2003/08/Faults">c</faultcode><faultstring>Step execution failed with an exception</faultstring><detail></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
looks like the cipher step might have failed -
Web Services Manager - register services
Hi all,
I have an OC4J Standalone(10.1.3), Web Services Manager(4.0.3) and OracleAS Service Registry(10.1.3).
I have a Web Service deployed in OC4J.
Then I register de WS in OWSM in a Gateway, but I cannot see the wsdl. The error is:
System does not support the specified encoding. Error processing resource 'http://10.10.10.10:3115/ccore/policyMgmt/registry/ShowWSDL.jsp?serviceId=SID0003005'.
When I tried to go to http://10.10.10.10:3115/firstGateway/services/SID0003005?wsdl, the page cannot be found.
When I test the WS in OC4J is everything ok.
Any idea??
the version of JDK is 1.4.2
Thank you in advance,
CDThe section in the doc you're quoting refers to integration with Oracle's Web Services Manager (WSM) which is another product. If you're deploying SPML web service to the app server (and without WSM), then you need to read the Deploying with ... section 12.3 where it has details about each app server. The endpoint URLs of a deployed service are:
Weblogic: /spmlws/OIMProvisioning
JBoss: /spmlws/services/HttpSoap11
Websphere, OC4J: /spmlws/HttpSoap11
Once you've deployed the SPML web service, run the sample client, you even get the source code so you can see exactly what's going on. If you want to generate Java classes from a WSDL using some web services toolkit, there's nothing that's stopping you from doing that, just grab a WSDL for the right app server. -
Web services manager control login problem
hi,
I have installed SOA suite using Advanced installation type.
After installation I am able to login into BPEL Console and it's working fine , but unable to login into web services manager control(http://localhost:8888/ccore) with oc4jadmin user...
I found below errors in ccore.log file
2008-10-03 09:33:45,879 INFO [AJPRequestHandler-HTTPThreadGroup-54] userregistry.UsersTable - isValidUserPassword() failed for oc4jadmin
2008-10-03 09:33:45,879 INFO [AJPRequestHandler-HTTPThreadGroup-54] sampledb.LocalDBAuthProvider - The error in authenticate for user : oc4jadmin
2008-10-03 09:33:45,879 SEVERE [AJPRequestHandler-HTTPThreadGroup-54] uibeans.LoginBean - Error when authenticating user. Invalid user id or password
2008-10-03 10:17:30,744 SEVERE [AJPRequestHandler-HTTPThreadGroup-54] userregistry.UsersTable - isActiveUser() failed for oc4jadmin
com.cfluent.utils.db.DBException: ORA-01017: invalid username/password; logon denied
at com.cfluent.utils.db.DBContext.getConnection(DBContext.java:95)
at com.cfluent.db.userregistry.UsersTable.isActiveUser(UsersTable.java:2599)
at com.cfluent.db.userregistry.UsersTable.isValidUserPassword(UsersTable.java:2996)
at com.cfluent.accessprovider.sampledb.LocalDBAuthProvider.authenticate(LocalDBAuthProvider.java:61)
at com.cfluent.access.AccessSessionFactory.isAuthenticated(AccessSessionFactory.java:137)
at com.cfluent.access.AccessSessionFactory.createSession(AccessSessionFactory.java:92)
at com.cfluent.webui.uibeans.LoginBean.authenticateUser(LoginBean.java:31)
at com.cfluent._coresv._Login._jspService(_Login.java:354)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.i18n.servlet.filter.ServletFilter.doFilter(ServletFilter.java:130)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:277)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:647)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:308)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:361)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:595)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:48)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:771)
at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:175)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.cfluent.utils.db.DBContext.getConnection(DBContext.java:86) ...
can any one help me resolve this problem..You need to enable JSSO if you want the oc4jadmin password to be in scync with the other AS products. If you just want to login with oc4jadmin you perform the following steps. PLease note that if you change the passord in EM you will have to make these changes again to keep the password the same. JSSO is a cleaner solution.
To change the default password for the user "admin", follow these steps:
- delete admin user
- add admin user back
- add admin user to the super user group "su1-grp"
1. Go to OC4J_HOME/owsm/bin directory and modify manageUserGroups.properties
user_id=admin
user_name=admin user
user_password=yourNewPassword
user_email=[email protected]
group_id=su1-grp
group_desc=super user group
2. Delete the existing admin user by executing
wsmadmin manageUserGroups deleteUser
4. Add the admin user again by executing
wsmadmin.bat manageUserGroups addUser
5. Add admin user to super user group
wsmadmin.bat manageUserGroups addUserGroup
The admin user password is changed. -
Oracle Web Service Manager Login failed
Hi ,
I had installed advance version of SOA 10.1.3.1 on windows xp. I abel to login to all component other than web service manager.I am using the oc4jadmin user id and its password to login.Please let me know what i have to do to fix it.
Regards,
PankajHi syed,
I completely agree to you. But I observed that after advanced installation of SOA suite, only OWSM uid & pwd defers from the default oc4jadmin uid & pwd like for other components.
We can configure that at later point of time. But by default, oc4jadmin credential will not work.
Cheers,
Abhi... -
Integration access manager and web services manager
Hi,
Can the SSO token sent by the access manager be used by the SOA suite web services manager ? I would assume that this is a trivial configuration.
Can anyone help with some ideas ?
Thanks,
MohanSOA Suite has Oracle Web Services Manger which can accept Oracle Access manger token. Instead of passing the obSSOCookie to all the services in SOA Suite ( in which case you are making the services available only to OAM authenticated users) you can create SAML token from your obSSOCookie and then send the SAML token to the SOA.
If you want to just pass obSSOCookie to SOA Suite/ Oracle WSM, yes it is straightforward. (you have to follow the steps in OWSM document)
Thanks
Ram -
Nyone who had success using sign-encrypt policy(oracle web service manager)
Hi All,
I could not succeed in using sign Message and Encrypt and decrypt and verify signature policy using oracle web services manager.So I would be grateful if somebody who had success in using it would shed light on its use.
Basically,I am using the following policy steps in securing a helloworld web service using gateway(oracle web services manager) :
1)for Request (Decrypt and Verify signature).
2)for Response(Sign Message and Encrypt).
The configuration for Request is shown below:
Pipeline "Request"
Pipeline Steps:
Start Pipeline
Log
Decrypt and Verify Signature
Basic Properties Type Default Value
Enabled (*) boolean true true
XML Decryption Properties Type Default Value
Decryptor''s keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
Decrypt Keystore Type (*) string jks jks
Decryptor''s keystore password string *******
Decryptor''s private-key alias (*) string s1as
Decryptor''s private-key password string *******
Enforce Encryption (*) boolean true true
XML Signature Verification Properties Type Default Value
Verifying Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
Verifying Keystore type (*) string jks jks
Verifying Keystore password string *******
Signer''s public-key alias (*) string xws-security-client
Enforce Signing (*) boolean true true
End Pipeline
And the configuration for Response is shown below:
Pipeline "Response"
Pipeline Steps:
Start Pipeline
Log
Sign Message and Encrypt
Basic Properties Type Default Value
Enabled (*) boolean true true
Signing Properties Type Default Value
Signing Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-keystore.jks
Signing Keystore Type (*) string jks jks
Signing Keystore password string *******
Signer''s private-key alias (*) string s1as
Signer''s private-key password string *******
Signed Content (*) string BODY BODY
Sign XPATH Expression string
Sign XML Namespace string[]
Encryption Properties Type Default Value
Encryption Keystore location (*) string C:\Sun\jwsdp-2.0\xws-security\etc\server-truststore.jks
Encrypt Keystore Type (*) string jks jks
Encryption Keystore password string *******
Decryptor''s public-key alias (*) string xws-security-client
Encrypted Content (*) string BODY BODY
Encrypt XPATH Expression string
Encrypt XML Namespace string[]
End Pipeline
But I am getting the following fault exception while accessing this secure web service :
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode "http://schemas.oblix.com/ws/2003/08/Faults">c</faultcode>
<faultstring>Step execution failed with an exception
</faultstring>
<detail></detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I would appreciate your help.Thanks.
KashHi clemens,
Actually I installed OracleWebServices_Manager_4_0_3 and I see my installation directory does not contain any of the directory structure you mention.
It installed oracle web services manager in the following location:
C:\coresv_install_home
and it contains the following subdirectories:
1)bin
2)config
3)db
4)ears
5)external
6)extlicences
7)lib
8)samples
9)scripts
10)wars
So I like to ask did you install the same version of the oracle web services manager, if not which version you install in which security is working for you.Thanks for any help.
Kash -
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 AMI'm checking into the SAML question.
Regarding the soap header - whatever is in the contract defined in the WSDL.
Maybe you are looking for
-
Every time I open Reader XI I get a box that pops up and says "Cannot open in protected mode due to
incompatible system configuration"
-
BAPI_SALESORDER_CREATEFROMDAT2 link order and quotation
Hi, Object: Create a sales order and link it with a quotation. I have created first a quotation VA21 for a customer and a material. I am using function BAPI_SALESORDER_CREATEFROMDAT2 in a Sap 5.0 to create a TA order in a program with a BAPI_TRANSACT
-
Episodes with corrupted video and sound
I have a season pass for Chuck season 3, and i have reported errors on some of the episodes where the end is corrupted so the picture freeze and sound is just noise. Unfortunately the support wont help, they just say that i cant get a refund (i never
-
HT5457 How can I use the Siri in my iPad 3?
How can I use Siri in iPad 3?
-
How to format brand new HD under windows?
Hello. I have a mac pro intel which I can dual boot to windows XP SP2. I just bought a new HD with the following specs: Seagate Barracuda SATA2 750GB and it is now located at bay 4 on my Mac Pro (bay 2 and 3 already have HFS disks). I would like to h