Saturday, November 14, 2009

Error "The username is not provided. Specify username in ClientCredentials."

Issue:
Error "The username is not provided. Specify username in ClientCredentials." while calling secured web service "HTTPS".

Cause:
Actually there're three causes with my application:
  1. Security mode was not appropriae.
  2. Client credential type was not appropriate.
  3. The call missed passing the required Username and Passwoed.

Solution:

The solution was in setting the apporpiate security mode, client credentials type and passing the required username and password.

  1. Set the appropriate Security mode in the configuration file (app.config OR web.config),it's should be "Transport":
security mode="Transport"


  1. Set the appropriate client credential type in the configuration file (app.config OR web.config),it's should be "Basic":

transport clientcredentialtype="Basic"

  1. Pass the required username and password:

proxy.ClientCredentials.UserName.UserName = "xyz";
proxy.ClientCredentials.UserName.Password = "123";

Ahmed A.Moneim

Thursday, December 18, 2008

SSIS runtime de-round Numbers

Issue: I have very strange issue with package that transofm data from excel file to text file, the issue that if there's a value in the excel with decimal point ends with .12345 it transformed to text file to .123449999999998. actuall all the sequence numbers less than or equal 5 drop the same issue.
for examble if we have the below value in the excel:
22.12345 it transfomed to 22.123449999999998 in the text file, i put i dataviewer after the excel data source and everything seems alright, the data type of the source columns are double precision.

Cause: Unknown, i communicated with one developer from SSIS team and he tried to troupleshoot the problem with me, but the cause is still unknows.

Wrok Around solution:


put a data conversion before the destination, and convert the type to decimal with only 5 scale.


Monday, December 1, 2008

Backup DB error

Problem: i create a deployment project for a windows application, this setup will install SQL Server express edition before installing the application, after installing the application and when the user trying to backup the DB using the application it gave me the below error
"Cannot open backup device 'C:\backupname.bak'. Operating system error 5(error not found).BACKUP DATABASE is terminating abnormally." and the only location i can create the backup is "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup".

Cause: becaue the SQL Server Express Service run under account "Local Syetm Network".

Resolution:

1. Go to "My Computer" ==> "Control Panel" ==> "Administrative Tools".

2. Open "Services".

3. Locate Service with name "SQL Server (SQLEXPRESS)" and Open it.

4. Choose "Log On" tab.

5. then select "Local System Account".

6. Press "OK".

7. Right Click on the service.

8. Choose Restart.

Created By
Ahmed Abdel Moneim

Monday, November 3, 2008

Birt Reporting Tool

I will document all my experience with Birt reporting tool:
Some facts about Birt - Birt is a reporting tool integrated with Java. - Birt saves the report design in xml format. - There's a lot of APIs come with Birt used to integrate with Birt to develop custom designer or custom engine. - Birt very primitive reporting tool with limited out of the box features, but it include a lot of APIs make it extensible.
Where to start? - You need Eclipse IDE to with Birt plug-ins , and you can download it from the URL below: http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-2_3_1-200809221151/birt-report-designer-all-in-one-2_3_1.zip
- Download the Birt Runtime Engine from: http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-2_3_1-200809221151/birt-runtime-2_3_1.zip And extract it to: C:/birt-runtime-2_3_1/
- Then you should extract this file.
- Now you can open Eclipse IDE and design you first report.
- There’s a very useful tutorial on Eclipse site to design simple Birt report: http://www.eclipse.org/birt/phoenix/tutorial/basic/
Integration Examples
- I found very useful examples that demonstrate the integration points and capabilities with Birt runtime engine.
1. Java – Simple Design Engine http://wiki.eclipse.org/Java_-_Simple_Design_Engine_API_%28BIRT%29
this example show how to develop a custom report designer.
When you go through this example don’t forget the below: a. Make sure that Eclipse reference to the correct JDK: Window => Preferences ==>Java==>Installed JREs Window ==> Preferences ==>Java==>Compiler
b. Make sure that your project reference the Birt packages Right click your project ==> Properties ==> Java Build Path==>libraries. If there’s any exception fire to you try to add from “Add External JARs” I add reference to the below JARs: o eclipse/plugins/com.ibm.icu_3.8.1.v20080530.jar o eclipse/plugins/org.eclipse.birt.report.model_2.3.1.v20080912.jar" o eclipse/plugins/org.eclipse.birt.report.runtime_2.3.1.v20080701.jar o eclipse/plugins/org.eclipse.birt.core.ui_2.3.1.v20080807.jar o eclipse/plugins/org.eclipse.birt.core_2.3.1.v20080912.jar o eclipse/plugins/org.eclipse.birt.report.designer.core_2.3.1.v20080911.jar o eclipse/plugins/org.eclipse.birt.report.designer_2.3.1.v20080701.jar o eclipse/plugins/org.apache.commons.codec_1.3.0.v20080530-1600.jar o eclipse/plugins/org.eclipse.birt.data_2.3.1.v20080829.jar o eclipse/plugins/org.w3c.css.sac_1.3.0.v200805290154.jar o eclipse/plugins/org.mozilla.rhino_1.6.7.v20080214/lib/js.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/chartengineapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/com.ibm.icu_3.8.1.v20080530.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/commons-cli-1.0.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/coreapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/crosstabcoreapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/dataadapterapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/dataaggregationapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/dataextraction.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/dteapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/engineapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/flute.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/js.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/modelapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/modelodaapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/odadesignapi.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/org.apache.commons.codec_1.3.0.v20080530-1600.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/org.eclipse.emf.common_2.4.0.v200808251517.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/org.eclipse.emf.ecore.xmi_2.4.1.v200808251517.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/org.eclipse.emf.ecore_2.4.1.v200808251517.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/org.w3c.css.sac_1.3.0.v200805290154.jar o C:/birt-runtime-2_3_1/ReportEngine/lib/scriptapi.jar o eclipse/plugins/org.apache.derby.core_10.3.1.4/derby.jar
c. don’t forget to change this code line in the class sample to reference the Birt runtime engine: config.setProperty("BIRT_HOME", "C:/birt-runtime-2_1_1/birt-runtime-2_1_1/ReportEngine"); Replace it to config.setProperty("BIRT_HOME", "C:/birt-runtime-2_3_1//ReportEngine");
d. create this folder on C root to because the sample render the generated report inside this folder c:/tmp/
e. Now you can run the sample. Enjoy ;)
2. Java - Execute Modified Report (BIRT) http://wiki.eclipse.org/Java_-_Execute_Modified_Report_%28BIRT%29
This example show how to execute existing report and generate data report with any format (HTML, pdf … etc)
3. Using the BIRT Report Viewer http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php
This example show how to use the report viewer, it works with me only when I install Apache web server 5.5: http://tomcat.apache.org/download-55.cgi

Conclusion: - You can modify the existing reports designed with Eclipse IDE or by editing the report XML file (but don’t forget to take a backup before editing J) - You can get the report result by: o By executing the existing report through Birt APIs. o Run the report directly through a JSP application. o Use the report viewer in a JSP or PHP application. - You can build your own designer or engine by using the APIs.

Created By

Ahmed Abdel Moneim

Sunday, November 2, 2008

Java - Simple Design Engine API (BIRT)

Error: When try to run the java application that use the Birt APIs it gave the below error:
org.eclipse.birt.core.exception.BirtException: Cant startup the OSGI framework
at org.eclipse.birt.core.framework.Platform.startup(Platform.java:91)
at DECreateDynamicTable.buildReport(DECreateDynamicTable.java:109)
at DECreateDynamicTable.main(DECreateDynamicTable.java:45)
Caused by: org.eclipse.birt.core.exception.BirtException: Could not start the Framework - C:/birt-runtime-2_1_1/birt-runtime-2_1_1/ReportEngine
at org.eclipse.birt.core.framework.osgi.OSGILauncher.startup(OSGILauncher.java:87)
at org.eclipse.birt.core.framework.Platform.startup(Platform.java:79)
... 2 more
Exception in thread "main" java.lang.NullPointerException
at DECreateDynamicTable.buildReport(DECreateDynamicTable.java:119)
at DECreateDynamicTable.main(DECreateDynamicTable.java:45)


Cause: because the Birt_Home variable in configration object not refer to the Birt Engine Path correctly.

Resolution: Locate the below code line and correct the path
config.setProperty("BIRT_HOME", "C:/birt-runtime-2_3_1/ReportEngine");


Created By
Ahmed Abdel Moneim

Sunday, October 19, 2008

Publish Orchestration as web Service Problem

Issue# 6
Error: after publishing the orchestration ports as a web service, the result from the orchestration should be multiple records, but the web service return only the first record.


Cause: because the schema of the response port missing the “minOccurs="1" and maxOccurs=”unbounded””, to tell the web service generator that the data returned from this operation will be multiple records (array).

Resolution: set these properties in the final result schema.

Created by
Ahmed Abdel Moneim

Submit Message to BAS Problem

"You receive a "Destination party not found" error message when you try to run the scenario in module 3 of the "Partner Management and Business Activity Monitoring" tutorial in BizTalk Server 2004
View products that this article applies to.
Article ID : 896311
Last Review : September 24, 2007
Revision : 2.4
SYMPTOMS
In Microsoft BizTalk Server 2004, when you try to run the scenario in module 3 of the "Partner Management and Business Activity Monitoring" tutorial, you receive the following error message:
OrderProcess.OrderService(65270963-3dea-9fe0-fcd4-20547da7368e), instance 0c36eaf3-94e2-4198-8809-3a1225eeef74 Destination party not found while attempting to send message 'MinPOAmountRequestMsg' to (s-1-5-7, OrganizationName).

Exception type: DestinationPartyNotFoundException

Exception from HRESULT: 0xC0C01665.
"


Cause:
This issue occurs when the Logon property of the BizTalkServerIsolatedHost host is set to \UserAccount instead of LocalComputerName\UserAccount. BizTalkServerIsolatedHost is the default isolated BizTalk Server host.

This issue may occur when you run the BizTalk Server 2004 Configuration Wizard to set up BizTalk Server 2004 to run on a single computer. By default, when you run the Configuration Wizard, the Configuration Wizard creates the appropriate BizTalk Server group accounts for you. However, the Configuration Wizard may incorrectly set the Logon property of the BizTalk Server host to \UserAccount instead of LocalComputerName\UserAccount.

Note The Logon property of the host may also be set to a valid domain account. For example, the Logon property may be set to DomainName\UserAccount.
Back to the top

RESOLUTION:
To resolve this issue, you must set the Logon property of the BizTalkServerIsolatedHost host to LocalComputerName\UserAccount. To do this, follow these steps: 1. Click Start, click All Programs, click Microsoft BizTalk Server 2004, and then click BizTalk Server Administration.
2. In the BizTalk Server Administration Console, expand Microsoft BizTalk Server 2004 (local), expand Hosts, and then click BizTalkServerIsolatedHost.
3. In the result pane, right-click your local computer name, and then click Properties.
4. In the Properties dialog box, click Change.
5. In the Provide account information dialog box, type LocalComputerName\UserAccount in the Logon box.

Note Replace LocalComputerName with your local computer name and replace UserAccount with your local user account name.
6. In the Password box, type your local user account password, and then click OK two times.
Note After you set the Logon property to the correct local user account name, you must restart the BizTalk Server service.

Also Applies to 2006

Created by
Ahmed Abdel Moneim - I found it on Microsoft sub site.