Handling existing connections on multi conn. server
Hello everyone!
I need help on this...
I was adding all new connections (the thread on wich they run) to a Vector with .add(the thread).
However, i can't access those thread's methods once they have been added to the vector.
.get() and remove() bothe return Object. Though i can print the type of the object which appears correct - thread.
There is no problem in the case when thethread "dies" by itself (client disconnects).
But i want to be able to close the any given connection that exists, by choice.
A solution seems to be to use an array ot the connections and close them by ID. Which is what i'm going to try.
Still if you can help... What is the proper way of solving this problem?
Thank you indeed!
a nice and short answer! ;)
i guess it's like my knowledge of java
Similar Messages
-
URGENT:Handle multiple connection in a multithreaded server.
I hava a multithreaded server where it can handle multiple connection.
The program works in this way. First, it will wait for connection. Once it accepts a connection, it will pass the socket to a thread class which will in turn process the connection. Then, the server will go back to the infinite loop to wait for new connection.
Since I am not very familiar on using thread, I would like to post the following questions:
1) Let say that my server can handle multiple connections. This is to cater for the different requests from the client. For instance, the client may make one connection for chatting and another connection for sending file(something like we have in Yahoo Messanger). So, at the server side, how can I differentiate between the connection for CHAT and the connection for SEND FILE so that I can handle the requests separately. It means I can save the file sent from client and display the chat message in the JTextArea?
2) How can I stop the server, clean up the thread and start the server again for waiting new connection? Currently, I can just start my server once.
For reference,following are parts of my program:
public void listenSocket(){
try{
server = new ServerSocket(5000);
} catch(IOException e) {
System.out.println("Failed to listen on port 5000");
System.exit(0);
try{
while(true){
server1frame sframe=null;
ChatHandler handler;
handler = new ChatHandler(sframe,server.accept(),jTextArea1,jTextField1,jFileChooser1);
handler.start();
} catch(IOException e) {
System.out.println("Accept failed:5000");
System.exit(0);
//to close the connection as the final steps before program exit.
} finally {
try{
server.close();
} catch (IOException ioe) {
ioe.printStackTrace();
public void run() {
out.println("Connection Established");
out.flush();
try {
String line;
while(!(line =in.readLine()).equalsIgnoreCase("QUIT")) {
if(line.startsWith("CLIENT"))
jTextArea1.append("\n"+line);
else if(line.startsWith("Connecting")) {
jTextArea1.append("\n"+line);
else if (line.startsWith("Finish")) {
JOptionPane.showMessageDialog(sframe,"File has finished downloading",
"File Download Complete",JOptionPane.INFORMATION_MESSAGE);
else {
BufferedWriter fout = new BufferedWriter(
new FileWriter("e:/num1.txt",true));
fout.write(line);
fout.newLine();
fout.flush(); }
} catch(IOException ioe) {
ioe.printStackTrace();
} finally {
try {
in.close();
socket.close();
} catch(IOException ioe){
System.out.println("Fail to close connection.");1) Let say that my server can handle multiple
connections. This is to cater for the different
requests from the client. For instance, the client may
make one connection for chatting and another
connection for sending file(something like we have in
Yahoo Messanger). So, at the server side, how can I
differentiate between the connection for CHAT and the
connection for SEND FILE so that I can handle the
requests separately. It means I can save the file sent
from client and display the chat message in the
JTextArea?Either your server listens on two different ports for two different protocolls, (then you would a server thread for each port) or you accept connections for both protocolls on both ports, and have the client state what protocoll it is using :
eg:
accept Connection - start new Thread - read first line - depending on protocoll pass protocoll object (CHAT, FTP) to run method
There is an example for a simple protocoll at : http://java.sun.com/docs/books/tutorial/networking/sockets/clientServer.html
2) How can I stop the server, clean up the thread and
start the server again for waiting new connection?
Currently, I can just start my server once.You normally start servers only once. It should then be up and listening for it's entire lifetime. Restarting a server should only be needed if it hangs or crashes. -
I have recently switched from MobileMe to iCloud and I now getting an error message in iCal :
"The server is currently unable to handle the connection due to a temporary overloading or maintenance of the server. If this continues you should contact the server administrator.
You may try to connect to the server again or take the account offline."
Since I am working from home and I am not on a server other than iCloud I don't understand why I am getting this message. (for 3 days). How do I fix it?TomCT60,
Is your MacBook using Mac OS X 10.6.8 as indicated in your post? If so you will not be able to fully integrate with iCloud.
iCloud and Snow Leopard, by Roger Wilmut describes what iCloud options are available for Snow Leopard.
If you are using Lion, go to iCal>Preferences...>Accounts, and delete/re-add your iCloud CalDAV server. -
I'm having some difficulty updating a table in my powerpivot data model. The data for the table is stored in a local excel file; if I go to
Existing Connections select the connection and do a test then everything is successful. When however I try to refresh that particular table I get the following error:
"We couldn’t refresh the connection. Please go to existing connections and verify they connect to the file or server."
In the past I had this and it was an authentication issue, the files are stored on SharePoint and I wasn't logged in to Sharepoint - I have however checked this and it can't be the issue because I have other tables linked to other excel files in the same
location that are refreshing without issue. Can anyone think of what may be causing it?
I have even tried creating a new local excel with the same data, added it to the data model and then tried a refresh and I I get exactly the same issue.
Are there any known issues with refreshing data from an Excel file if, after the initial import, you add columns to the table in the excel file I was wondering if this might contribute?
ThanksHi Maracles,
Thanks for your post.
From your description, I tried to reproduce this issue on my test environment. However, everything is fine for me. Could you please post the specific version of SQL Server PowerPivot for Excel?
You can try to use a trace file to troubleshoot errors in PowerPivot. If this issue still persists, please try to reinstall SQL Server PowerPivot for Excel to see if this helps.
For more information, please see:
PowerPivot Options & Diagnostics Dialog Box:
http://technet.microsoft.com/en-us/library/gg399091.aspx
Using a Trace File to Troubleshoot Errors in PowerPivot:
http://www.sqlchick.com/entries/tag/powerpivot
Best Regards,
Elvis Long
TechNet Community Support -
Editing any user profile, when I try to save the change I get the error: no existing connection from which credentials can be copied. It will not let me get out of the screen. I have to close the Server App to get out. Any suggestions?
This is also being disucssed somewhere else https://discussions.apple.com/thread/5486117. I have the same problem, sorry i can't help.
-
Help? New iPad2 exchange email was working. Now won't download email and existing emails disappearing - newest disappearing first. Can connect to web. And my windows computer connects fine to exchange server. What's going on?
Actually all are affected, but i manage to solved it running Virtual test version to trace the issue and finally able to fix it. Thanks for asking.
IT Technician -
Handle multiple connections on server side
Hi,
I am trying to enable many clients to connect to my server at the same time.
So far what i have done is to create a serverSocket named theSocket
and accept incomming connection : theSocket.accept().
Each time a connection is established my server create a new Thread to deal with that client: which means one client = one thread running on the Server. But if i have Many clients like 1000...
that would mean 1000 Threads running on the server and i think this is weak in terms of performance in server side.
Any idea about how to improve this?
thanks
sebI think you need to ues Java NIO
-
Applicaton Catalog - "Cannot connect to the application server" - Existing solutions have not worked
Hi there,
I have researched the problem below extensively online and found quite a varies array of solutions offered however they all seem to relate to the problem in that someone was setting up SCCM but couldn't get it to work. My situation is different in that the
feature was working, no settings were changed however it has now stopped working.
The issue is that if any user attempts to use the app catalog, they are shown the error screen which says "Cannot connect to the application server". It then says the problem might be temporary, try again later etc however it's not temporary.
All the settings for the app catalog appear to be correct, as I would expect them to be as it was working (I am new to this company, the Desktop manager has told me it was working a few weeks ago).
Does anyone know of a service in Windows, maybe something to do with the SQL side or certificates that could cause this issue? (although I checked certificates and again, looks fine). I'm almost at the point now of just restarting the server because
if all else fails, turn it off and on again right?
Cheers all.Hi, I just typed a long reply to this and then accidentally clicked a favourite on the Favourites bar and lost everything I typed :(
-Checked the path in IIS to the \SMS_CCM\CMApplicationCatalog folder was OK and it was.
-Checked that required .NET components including WCF are installed.
-This one seemed a bit strange but ensured local service account has access to C:\Windows\Temp (this seemed very basic and unlikely but I tried it anyway due to desperation).
-Checked that self-signed certificate was trusted by my PC attempting to access the App Catalog.
-Checked SCCM services on the server are all running (where they should be, or set to manual as appropriate).
I'm sure I've tried more than this, but these are the main things I can remember.
Cheers. -
OSMF handling connections on Flash Media Server
How do I "kill" a connection on Flash Media server using OSMF?
Can I just "stop" a video (i.e. _player.stop() ) or do I have to set the media to null?MediaPlayer.stop() will only stop playback of the stream, but not close the connection.
If you set MediaPlayer.media to null, then it will close the connection. -
Java Concurrent Program - connecting to MS SQL Server
Hi,
I hope this is correct forum to post this question.
I am writing a JCP which will connect to a MS SQL Server DB, pull data from a table and populate this data into a custome table in EBS (R12.1.1) database. But I am facing some issues.
When I run run this concurrent program from EBS, I get following exception message:
Wed Aug 08 01:18:04 GMT 2012: In openConection()
Wed Aug 08 01:18:04 GMT 2012: Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver
Wed Aug 08 01:18:04 GMT 2012: openConection() ClassNotFoundException: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
Wed Aug 08 01:18:04 GMT 2012: Before Calling processPrintMachineRecords()
Wed Aug 08 01:18:04 GMT 2012: Exception:: java.lang.NullPointerException
Wed Aug 08 01:18:04 GMT 2012: In closeSQLServerConnection().......closing JDBC Connection
Wed Aug 08 01:18:04 GMT 2012: Connection object was null, hence skipping close
Wed Aug 08 01:18:04 GMT 2012: After Calling processPrintMachineRecords()
The I read somewhere on internet that I should set CLASSPATH in options field of concurrent program definition. So I provided classpath as follows:
-cp /rs01/u02/applmgr/utyeb02/apps/apps_st/appl/au/12.0.0/appsborg.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes/apps.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes/sqljdbc_4.0/enu/sqljdbc.jar
In this classpath sqljdbc.jar contains the classes for connecting to MS SQL Server DB. However after giving classpath like this I started getting different error:
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/apps/fnd/cp/request/Run
Caused by: java.lang.ClassNotFoundException: oracle.apps.fnd.cp.request.Run
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
It appears from the error message that after giving this CLASSPATH, program was not able to find the "Run" method itself. In otherwords, CLASSPATH screwed it further.
Can anybody please point out what am I doing wrong here?
Regards
Java Code:
package oracle.apps.custom.printmachine;
import java.sql.*;
import oracle.apps.fnd.cp.request.* ;
import java.io.*;
import oracle.apps.fnd.util.*;
public class PrintMachineInterface implements JavaConcurrentProgram {
public static final String M_SUCCESS = "SUCCESS";
public static final String M_ERROR = "ERROR";
public static final String M_WARNING = "WARNING";
int mRequestStatus = -1;
int max_number_of_records = 99999999;
private String mSqlServerHost = "mysqlserver.domain.com";
// Application Short Name
private String applName;
CpContext mCtx;
LogFile logFile;
OutFile outFile;
Connection mConn = null;
ReqCompletion lRC;
public PrintMachineInterface(){
// if no parameter value is specified for APPLNAME then use FND
//as default value
applName = "FND";
private void logMessage(String str) {
java.util.Date now = new java.util.Date();
logFile.writeln(now.toString() + ": " + str, LogFile.STATEMENT);
static String mInsertRecord = " Declare " + " BEGIN "
+ " INSERT INTO XXGFN_GBL_CE_PM_STAGE(ID, KEY, FILENAME, PRINTED_AT, CREATED_AT, DOCTYPE, LANGUAGE, OU, TRX_ID, DOC_ID, REQ_ID, TEMPLATE, PAGES, DOC_TEXT, TIMES_RECEIVED)"
+ " VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, substr(:14,2000), :15);"
+ " COMMIT;"
+ " END;";
static Connection con = null;
public void openConection() {
logMessage( "In openConection()");
try {
logMessage( "Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "After Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "Attempting to connect to " + mSqlServerHost);
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=sql_user;Password=sql_pwd");
logMessage( "After con assigned from getConnection(jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=pm_dba_access;Password=*****");
} catch (java.lang.ClassNotFoundException e) {
logMessage("openConection() ClassNotFoundException: " + e);
} catch (SQLException ex) {
logMessage("openConection() SQLException: " + ex);
public void closeSQLServerConnection() {
try {
logMessage( "In closeSQLServerConnection().......closing JDBC Connection");
if (con != null)
logMessage( "Con is not null");
con.close();
logMessage( "Con Closed Successfully");
else
logMessage( "Connection object was null, hence skipping close");
} catch (SQLException ex) {
logMessage("SQLException: " + ex);
} catch (Exception ex) {
logMessage("Exception in closeSQLServerConnection() : " + ex);
private void populate_staging_table(
String p_id,
String p_key,
String p_filename,
String p_printed_at,
String p_created_at,
String p_doctype,
String p_language,
String p_ou,
String p_trx_id,
String p_doc_id,
String p_req_id,
String p_template,
String p_pages,
String p_doc_text,
String p_times_received
PreparedStatement lStmt = null;
logMessage("Populating data from PrintMachine history table");
try {
lStmt = mConn.prepareCall(mInsertRecord);
lStmt.setString(1, p_id);
lStmt.setString(2, p_key);
lStmt.setString(3, p_filename);
lStmt.setString(4, p_printed_at);
lStmt.setString(5, p_created_at);
lStmt.setString(6, p_doctype);
lStmt.setString(7, p_language);
lStmt.setString(8, p_ou);
lStmt.setString(9, p_trx_id);
lStmt.setString(10, p_doc_id);
lStmt.setString(11, p_req_id);
lStmt.setString(12, p_template);
lStmt.setString(13, p_pages);
lStmt.setString(14, p_doc_text);
lStmt.setString(15, p_times_received);
lStmt.execute();
lStmt.close();
} catch (SQLException s) {
logMessage("Exception thrown w/ error message: "
+ s.getMessage());
s.printStackTrace();
finally {
try {
if (lStmt != null)
lStmt.close();
} catch (SQLException e) {
logMessage("SQLException: " + e);
private void processPrintMachineRecords() {
int number_of_recs = 0;
try {
PreparedStatement stmt = con.prepareStatement("SELECT TOP 1000 ID, Key, Filename, PrintedAt, CreatedAt, Doctype, Language,OU, TransactionID, DocumentID, RequestID, Template, Pages, Documenttext, TimesReceived FROM PM_DATA.dbo.History" );
ResultSet rst = stmt.executeQuery();
while (rst.next()) {
number_of_recs++;
if (number_of_recs == max_number_of_records) break;
populate_staging_table(
rst.getString(1), rst.getString(2)
,rst.getString(3), rst.getString(4)
,rst.getString(5), rst.getString(6)
,rst.getString(7), rst.getString(8)
,rst.getString(9), rst.getString(10)
,rst.getString(11), rst.getString(12)
,rst.getString(13), rst.getString(14)
,rst.getString(15)
stmt.close();
rst.close();
mConn.commit();
} catch (SQLException ex) {
logMessage("SQLException: " + ex);
catch (Exception ex) {
logMessage("Exception:: " + ex);
closeSQLServerConnection();
public void runProgram(CpContext pCpContext) {
applName = "XXGFN";
String l_file_path = null;
mCtx = pCpContext;
//get handle on request completion object for reporting status
lRC = pCpContext.getReqCompletion();
// assign logfile
logFile = pCpContext.getLogFile();
// assign outfile
outFile = pCpContext.getOutFile();
// get the JDBC connection object
mConn = pCpContext.getJDBCConnection();
l_file_path = ((new File(outFile.getFileName())).getParent() == null ? ""
: (new File(outFile.getFileName())).getParent());
// get parameter list object from CpContext
ParameterList lPara = pCpContext.getParameterList();
while (lPara.hasMoreElements())
NameValueType aNVT = lPara.nextParameter();
if ( aNVT.getName().equals("APPLNAME") )
applName = aNVT.getValue();
/** openConection() Opens the connection to SQL Server Database*/
openConection() ;
logMessage("Before Calling processPrintMachineRecords()");
processPrintMachineRecords();
logMessage("After Calling processPrintMachineRecords()");
try{
setCompletion(ReqCompletion.NORMAL, "Request Completed Normal");
} catch (Exception e) {
setCompletion(ReqCompletion.ERROR, e.toString());
} finally {
pCpContext.releaseJDBCConnection();
* Sets the request completion status based on proper precedence. ERROR >
* WARNING > NORMAL
* @param pStatus
* Status of the request.
* @param pCompletionText
* Request's completion text.
public void setCompletion(int pStatus, String pCompletionText) {
if ((pStatus == ReqCompletion.ERROR)
|| ((pStatus == ReqCompletion.WARNING) && (mRequestStatus != ReqCompletion.ERROR))
|| ((pStatus == ReqCompletion.NORMAL)
&& (mRequestStatus != ReqCompletion.WARNING) && (mRequestStatus != ReqCompletion.ERROR))) {
mRequestStatus = pStatus;
lRC.setCompletion(pStatus, pCompletionText);
}ok
i used Template.java as input
useful MOS:
How To Create a Java Concurrent Program? [ID 827563.1]
Java Concurrent Program FAQ [ID 827575.1]
i used
//goto ms sql server 2008r2
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(
"jdbc:sqlserver://1.2.3.4:1433;databaseName=test;selectMethod=cursor",
"test", "test");
if(con!=null) System.out.println("Connection Successful!");
}catch(Exception e){
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}1.2.3.4 - ip of instance with sqlserver2008r2 :)
in your code
>
try {
logMessage( "Before Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "After Loading Driver com.microsoft.jdbc.sqlserver.SQLServerDriver");
logMessage( "Attempting to connect to " + mSqlServerHost);
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=sql_user;Password=sql_pwd");
logMessage( "After con assigned from getConnection(jdbc:microsoft:sqlserver://" + mSqlServerHost + ":1433;User=pm_dba_access;Password=*****");
} catch (java.lang.ClassNotFoundException e) {
logMessage("openConection() ClassNotFoundException: " + e);
} catch (SQLException ex) {
logMessage("openConection() SQLException: " + ex);
>
try my case for Driver and Connection
put result .class file to needed directory
put sqljdbc4.jar to /rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/lib
and for concurrent program option
-classpath /rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/classes:/rs01/u02/applmgr/utyeb02/apps/apps_st/appl/au/12.0.0/appsborg.zip:/rs01/u02/applmgr/utyeb02/apps/apps_st/comn/java/lib/sqljdbc4.jaralso useful mos:
Classpath Setting of Third Party Jar Files in R12 Java Concurrent Program (JCP) [ID 1292694.1] -
I m using SQL Server 2012 Developer Edition. Even I tried 2012 express and enterprise edition but all
gave same error. I browsed msdn blog. But nothing help me out.
Below is the error log details--
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2061893606
Start time: 2013-10-21 12:58:05
End time: 2013-10-21 13:52:30
Requested action: Install
Setup completed with required actions for features.
Troubleshooting information for those features:
Next step for RS: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for SQLEngine: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for DQ: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for FullText: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for Replication: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Machine Properties:
Machine name: CROY-TOSH
Machine processor count: 4
OS version: Windows 7
OS service pack: Service Pack 1
OS region: United States
OS language: English (United States)
OS architecture: x64
Process architecture: 64 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature
Language Edition Version Clustered
Package properties:
Description: Microsoft SQL Server 2012 Service Pack 1
ProductName: SQL Server 2012
Type: RTM
Version: 11
SPLevel: 0
Installation location: C:\Users\CRoy\Downloads\SQL Server 2012 Developer Edition (x86 and x64) - DVD (English)\x64\setup\
Installation edition: Developer
Product Update Status:
None discovered.
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: false
AGTSVCACCOUNT: NT Service\SQLSERVERAGENT
AGTSVCPASSWORD: *****
AGTSVCSTARTUPTYPE: Manual
ASBACKUPDIR: C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Backup
ASCOLLATION: Latin1_General_CI_AI
ASCONFIGDIR: C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Config
ASDATADIR: C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Data
ASLOGDIR: C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Log
ASPROVIDERMSOLAP: 1
ASSERVERMODE: MULTIDIMENSIONAL
ASSVCACCOUNT: NT Service\MSSQLServerOLAPService
ASSVCPASSWORD: <empty>
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS: CRoy-TOSH\CRoy
ASTEMPDIR: C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Temp
BROWSERSVCSTARTUPTYPE: Disabled
CLTCTLRNAME: ROY
CLTRESULTDIR: C:\Program Files (x86)\Microsoft SQL Server\DReplayClient\ResultDir\
CLTSTARTUPTYPE: Manual
CLTSVCACCOUNT: NT Service\SQL Server Distributed Replay Client
CLTSVCPASSWORD: <empty>
CLTWORKINGDIR: C:\Program Files (x86)\Microsoft SQL Server\DReplayClient\WorkingDir\
COMMFABRICENCRYPTION: 0
COMMFABRICNETWORKLEVEL: 0
COMMFABRICPORT: 0
CONFIGURATIONFILE: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20131021_125116\ConfigurationFile.ini
CTLRSTARTUPTYPE: Manual
CTLRSVCACCOUNT: NT Service\SQL Server Distributed Replay Controller
CTLRSVCPASSWORD: <empty>
CTLRUSERS: CRoy-TOSH\CRoy
ENABLERANU: false
ENU: true
ERRORREPORTING: true
FEATURES: SQLENGINE, REPLICATION, FULLTEXT, DQ, AS, RS, RS_SHP, RS_SHPWFE, DQC, BIDS, CONN, IS, BC, SDK, BOL, SSMS, ADV_SSMS, DREPLAY_CTLR, DREPLAY_CLT, SNAC_SDK, MDS
FILESTREAMLEVEL: 2
FILESTREAMSHARENAME: MSSQLSERVER
FTSVCACCOUNT: NT Service\MSSQLFDLauncher
FTSVCPASSWORD: <empty>
HELP: false
IACCEPTSQLSERVERLICENSETERMS: false
INDICATEPROGRESS: false
INSTALLSHAREDDIR: C:\Program Files\Microsoft SQL Server\
INSTALLSHAREDWOWDIR: C:\Program Files (x86)\Microsoft SQL Server\
INSTALLSQLDATADIR: <empty>
INSTANCEDIR: C:\Program Files\Microsoft SQL Server\
INSTANCEID: MSSQLSERVER
INSTANCENAME: MSSQLSERVER
ISSVCACCOUNT: NT Service\MsDtsServer110
ISSVCPASSWORD: <empty>
ISSVCSTARTUPTYPE: Automatic
MATRIXCMBRICKCOMMPORT: 0
MATRIXCMSERVERNAME: <empty>
MATRIXNAME: <empty>
NPENABLED: 0
PID: *****
QUIET: false
QUIETSIMPLE: false
ROLE: <empty>
RSINSTALLMODE: DefaultNativeMode
RSSHPINSTALLMODE: SharePointFilesOnlyMode
RSSVCACCOUNT: NT Service\ReportServer
RSSVCPASSWORD: <empty>
RSSVCSTARTUPTYPE: Automatic
SAPWD: *****
SECURITYMODE: SQL
SQLBACKUPDIR: <empty>
SQLCOLLATION: Latin1_General_CI_AI
SQLSVCACCOUNT: NT Service\MSSQLSERVER
SQLSVCPASSWORD: *****
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: CRoy-TOSH\CRoy
SQLTEMPDBDIR: <empty>
SQLTEMPDBLOGDIR: <empty>
SQLUSERDBDIR: <empty>
SQLUSERDBLOGDIR: <empty>
SQMREPORTING: false
TCPENABLED: 0
UIMODE: Normal
UpdateEnabled: true
UpdateSource: MU
X86: false
Configuration file: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20131021_125116\ConfigurationFile.ini
Detailed results:
Feature: Management Tools - Complete
Status: Passed
Feature: Client Tools Connectivity
Status: Passed
Feature: Client Tools SDK
Status: Passed
Feature: Client Tools Backwards Compatibility
Status: Passed
Feature: Management Tools - Basic
Status: Passed
Feature: SQL Server Data Tools
Status: Passed
Feature: Reporting Services - Native
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: Data Quality Services
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: Full-Text and Semantic Extractions for Search
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: SQL Server Replication
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: Master Data Services
Status: Passed
Feature: Distributed Replay Client
Status: Passed
Feature: Distributed Replay Controller
Status: Passed
Feature: Integration Services
Status: Passed
Feature: Data Quality Client
Status: Passed
Feature: Analysis Services
Status: Passed
Feature: Reporting Services - SharePoint
Status: Passed
Feature: Reporting Services Add-in for SharePoint Products
Status: Passed
Feature: SQL Browser
Status: Passed
Feature: Documentation Components
Status: Passed
Feature: SQL Writer
Status: Passed
Feature: SQL Client Connectivity
Status: Passed
Feature: SQL Client Connectivity SDK
Status: Passed
Rules with failures:
Global rules:
Scenario specific rules:
Rules report file: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20131021_125116\SystemConfigurationCheck_Report.htmHi,
This 3rd time I followed this link. But nothing new, same error.
Can you please tell me how to do follow, I cannt do the 1st step, how to change the local system to windows level account, vice-versa. It is shown mine as
Server Configuration Manager(Local)
From here I folllowed the steps ---[I cannt insert link/image :-(]
SQL 2008/R2 setup fails with "Wait on the database engine recovery handle failed"
If I right clicked on SQL Server Service, there is no option to change the account.
Hello,
Thanks for your patience,did you tried stesp mentioned in below article
http://blogs.msdn.com/b/sqljourney/archive/2012/03/16/sql-2008-r2-setup-fails-with-quot-wait-on-the-database-engine-recovery-handle-failed-quot.aspx
To resolve it, follow these steps:-
When the installation throws this error, click on OK and allow it to proceed. It will fail for Database Engine, but the SQL Server service should have
been created. Check the Services console.
If the service is present, perform the following steps:-
1. Go to SQL Server Configuration manager, right click on the SQL Server service, and change the service account (if it is local system, give
it a windows level account, and vice-versa). It might throw a WMI error but you will see the account getting updated anyway. If not, then use the Services console. Change the account for SQL Agent as well.
Use this link to change sql server service account
http://technet.microsoft.com/en-us/library/ms345578.aspx
2. Next, try to start the service. It should come online.
3. However, you will not be able to log in to the SQL Server
4. Now stop the service and start it from the command prompt using -m -c -T3608 parameters.
5. Now try logging in to the server using admin connection from sqlcmd (sqlcmd admin:<server name>\<instance name> ...)
6. Once logged in, use the sp_addsrvrolemember '<domain\username>','sysadmin'.
Also add the builtin/administrators to the sysadmin role
7. Now stop the service from the command prompt and start it from SQL Server configuration manager
You should be able to log in to the server now.
Hope this helps someone.
Please revert if it helps or even if it does not
Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers -
How to handle network connection error to bussiness service on OSB
Hello everyone.
Thank for your attentions. I need some help for error handling in OSB 11g. I have a proxy service that route to a business service to check profile status. I'm using java client to consume proxy service and return result to customers. The problem that I'm face to is the handling network connection fail.
I want to get some message (or any useful information) from proxy service to report that connection to Business service is unavailable when that connection fail. I tried to add Error Handling but I cannot found that action from option list.
Can you review my proxy service and tell me some resolutions?
Any suggestion is appreciated.
Thank in advance
<?xml version="1.0" encoding="UTF-8"?>
<xml-fragment xmlns:ser="http://www.bea.com/wli/sb/services" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:env="http://www.bea.com/wli/config/env" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:con="http://www.bea.com/wli/sb/pipeline/config" xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config" xmlns:con2="http://www.bea.com/wli/sb/stages/config" xmlns:con3="http://www.bea.com/wli/sb/stages/routing/config" xmlns:con4="http://www.bea.com/wli/sb/stages/logging/config">
<ser:coreEntry isProxy="true" isEnabled="true">
<ser:binding type="SOAP" isSoap12="false" xsi:type="con5:SoapBindingType" xmlns:con5="http://www.bea.com/wli/sb/services/bindings/config">
<con5:wsdl ref="Test/resources/wsdl/PortalSide"/>
<con5:port>
<con5:name>PortalSideSOAP</con5:name>
<con5:namespace>http://www.example.org/PortalSide/</con5:namespace>
</con5:port>
<con5:selector type="SOAP body"/>
<con5:WSI-compliant>false</con5:WSI-compliant>
</ser:binding>
<ser:monitoring isEnabled="false">
<ser:aggregationInterval>10</ser:aggregationInterval>
<ser:pipelineMonitoringLevel>Pipeline</ser:pipelineMonitoringLevel>
</ser:monitoring>
<ser:reporting>true</ser:reporting>
<ser:logging isEnabled="true">
<ser:logLevel>debug</ser:logLevel>
</ser:logging>
<ser:sla-alerting isEnabled="true">
<ser:alertLevel>normal</ser:alertLevel>
</ser:sla-alerting>
<ser:pipeline-alerting isEnabled="true">
<ser:alertLevel>normal</ser:alertLevel>
</ser:pipeline-alerting>
<ser:ws-policy>
<ser:binding-mode>wsdl-policy-attachments</ser:binding-mode>
</ser:ws-policy>
</ser:coreEntry>
<ser:endpointConfig>
<tran:provider-id>http</tran:provider-id>
<tran:inbound>true</tran:inbound>
<tran:URI>
<env:value>/Test/proxy-services/DnICT_WSDL_PS</env:value>
</tran:URI>
<tran:inbound-properties/>
<tran:all-headers>false</tran:all-headers>
<tran:provider-specific>
<http:inbound-properties/>
</tran:provider-specific>
</ser:endpointConfig>
<ser:router>
<con:pipeline type="request" name="GetRequestInfo_pipeline_pair_request">
<con:stage name="InputProcess_stage">
<con:context>
<con2:varNsDecl namespace="http://www.example.org/PortalSide/" prefix="por"/>
<con2:varNsDecl namespace="http://www.example.org/PortalSide_Test/" prefix="por1"/>
<con2:varNsDecl namespace="http://www.example.org/OutputSchema" prefix="out"/>
</con:context>
<con:actions>
<con1:assign varName="docId">
<con2:id>_ActionId-2456490176600649155--723117a.130d7d91065.-7b86</con2:id>
<con1:expr>
<con2:xqueryText>$body/por:checkStatus/documentId/text()</con2:xqueryText>
</con1:expr>
</con1:assign>
<con1:assign varName="depId">
<con2:id>_ActionId-2456490176600649155--723117a.130d7d91065.-7b69</con2:id>
<con1:expr>
<con2:xqueryText>$body/por:checkStatus/departmentId/text()</con2:xqueryText>
</con1:expr>
</con1:assign>
<con1:assign varName="srvId">
<con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7d41</con2:id>
<con1:expr>
<con2:xqueryText>$body/por:checkStatus/serviceId/text()</con2:xqueryText>
</con1:expr>
</con1:assign>
</con:actions>
</con:stage>
</con:pipeline>
<con:pipeline type="response" name="GetRequestInfo_pipeline_pair_response">
<con:stage name="ErrorHandling">
<con:context/>
<con:actions/>
</con:stage>
</con:pipeline>
<con:flow>
<con:pipeline-node name="GetRequestInfo_pipeline_pair">
<con:comment>Lay cac thong tin trong form search</con:comment>
<con:request>GetRequestInfo_pipeline_pair_request</con:request>
<con:response>GetRequestInfo_pipeline_pair_response</con:response>
</con:pipeline-node>
<con:branch-node type="condition" name="branching_public_services">
<con:context>
<con2:varNsDecl namespace="http://www.example.org/PortalSide/" prefix="por"/>
</con:context>
<con:branch-table variable="depId">
<con:branch name="SoTTTT">
<con:operator>equals</con:operator>
<con:value>1</con:value>
<con:flow>
<con:branch-node type="condition" name="DnICT_dept_services">
<con:context/>
<con:branch-table variable="srvId">
<con:branch name="DichVu_1">
<con:operator>equals</con:operator>
<con:value>1</con:value>
<con:flow>
<con:route-node name="RouteToDnICT_BS">
<con:context>
<con2:varNsDecl namespace="http://www.example.org/PortalSide/" prefix="por"/>
<con2:varNsDecl namespace="http://www.example.org/PortalSide_Test/" prefix="por1"/>
<con2:varNsDecl namespace="http://www.example.org/OutputSchema" prefix="out"/>
</con:context>
<con:actions>
<con3:route>
<con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b4c</con2:id>
<con3:service ref="Test/busines-services/DnictServiceBS" xsi:type="ref:BusinessServiceRef" xmlns:ref="http://www.bea.com/wli/sb/reference"/>
<con3:operation>selecttrangthai</con3:operation>
<con3:outboundTransform>
<con1:assign varName="username">
<con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b4b</con2:id>
<con1:expr>
<con2:xqueryText>fn:string('stttt')</con2:xqueryText>
</con1:expr>
</con1:assign>
<con1:assign varName="password">
<con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b4a</con2:id>
<con1:expr>
<con2:xqueryText>fn:string('123456')</con2:xqueryText>
</con1:expr>
</con1:assign>
<con1:replace contents-only="true" varName="body">
<con2:id>_ActionId-4566721321360037228--34ba1746.13170e34dc9.-7b49</con2:id>
<con1:expr>
<con2:xqueryText><![CDATA[<soap:selecttrangthai xmlns:soap="http://soapinterop.org/">
<username xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{$username}</username>
<password xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{$password}</password>
<masohoso xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">{$docId}</masohoso>
</soap:selecttrangthai>]]></con2:xqueryText>
</con1:expr>
</con1:replace>
</con3:outboundTransform>
<con3:responseTransform/>
</con3:route>
</con:actions>
</con:route-node>
</con:flow>
</con:branch>
<con:default-branch>
<con:flow/>
</con:default-branch>
</con:branch-table>
</con:branch-node>
</con:flow>
</con:branch>
<con:branch name="SoGTVT">
<con:operator>equals</con:operator>
<con:value>2</con:value>
<con:flow/>
</con:branch>
<con:default-branch>
<con:flow/>
</con:default-branch>
</con:branch-table>
</con:branch-node>
</con:flow>
</ser:router>
</xml-fragment>P/S:
When connection to business service is fail, I got this soap message:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>BEA-380002: No route to host</faultstring>
<detail>
<con:fault xmlns:con="http://www.bea.com/wli/sb/context">
<con:errorCode>BEA-380002</con:errorCode>
<con:reason>No route to host</con:reason>
<con:location>
<con:node>RouteToDnICT_BS</con:node>
<con:path>request-pipeline</con:path>
</con:location>
</con:fault>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>Regards.
Cuong Pham
Edited by: Doubt_Man on Jul 28, 2011 10:26 AMyou could add an error handler on the route-action in your proxy service.
in there you could investigate the $fault variable and for example check which BEA-... errorcode comes back.
then you can decide what to reply back..for example create your own soap-fault and set your own messages.
now the default $fault generated by the osb itself will get returned
http://www.xenta.nl/blog/2010/07/17/oracle-service-bus-11g-handling-soap-faults/
maybe that one helps you a bit -
How to implement SMTP Email ping / Telnet connection to a SMTP Server?
Dear all,
i want to implement an advanced email address check where a connection to target smtp server is performed and the reply from the server is read back.
This program should check if the user exists and is accepted by the smtp server.
An alternative/part of the solution could be to perform a TELNET connection to the smtp host and get the output without sending an email.
Has anybody done this before?
Thanks a lot in advance.
Regards,
AdamAdam,
Check this program.
Cheers,
Thomas.
REPORT ZTMG_TEST LINE-SIZE 132.
* Test SAP FTP functions
DATA: BEGIN OF MTAB_DATA OCCURS 0,
LINE(132) TYPE C,
END OF MTAB_DATA.
DATA: MC_PASSWORD(20) TYPE C,
MI_KEY TYPE I VALUE 26101957,
MI_PWD_LEN TYPE I,
MI_HANDLE TYPE I.
START-OF-SELECTION.
MC_PASSWORD = 'password'.
DESCRIBE FIELD MC_PASSWORD LENGTH MI_PWD_LEN.
*-- FTP_CONNECT requires an encrypted password to work
CALL 'AB_RFC_X_SCRAMBLE_STRING'
ID 'SOURCE' FIELD MC_PASSWORD ID 'KEY' FIELD MI_KEY
ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD MC_PASSWORD
ID 'DSTLEN' FIELD MI_PWD_LEN.
CALL FUNCTION 'FTP_CONNECT'
EXPORTING
USER = 'userid'
PASSWORD = MC_PASSWORD
HOST = 'servername'
RFC_DESTINATION = 'SAPFTP'
IMPORTING
HANDLE = MI_HANDLE
EXCEPTIONS
NOT_CONNECTED = 1
OTHERS = 2.
CHECK SY-SUBRC = 0.
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = MI_HANDLE
COMMAND = 'dir'
TABLES
DATA = MTAB_DATA
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3
OTHERS = 4.
IF SY-SUBRC = 0.
LOOP AT MTAB_DATA.
WRITE: / MTAB_DATA.
ENDLOOP.
ELSE.
* do some error checking.
ENDIF.
CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
HANDLE = MI_HANDLE
EXCEPTIONS
OTHERS = 1. -
NVidia nView incompatible with AME & PPR (Connecting to Dynamic Link Server timeout)
Figured I'd post this discovery in case others might run into the infamous "Connecting to Dynamic Link Server" when trying Add or Queue a Premiere Pro Sequence using Adobe Media Encoder.
I'm using the Adobe CS6 Suite but from the research I've done over the past three hours, this issue has been prevalent over several versions. In the end, I had to disable the NVidia (333.11) nView Desktop Manager applet which I typically enable so as to leverage the Window Transparency feature. I'm not certain as to what option is causing the tried changing them all.
Here is a summary of the pertinent troubleshooting steps I followed in this journey:
Ensure that "AfterFX" and "Premiere" application shortcut exist in the following file system locations (I'm running Windows 7 Ultimate 64bit):
C:\Program Files\Adobe\Adobe Media Encoder CS6\32
C:\Program Files (x86)\Common Files\Adobe\dynamiclink\
C:\Program Files (x86)\Common Files\Adobe\dynamiclink\CS6
Reset Premiere Preferences (ALT + SHIFT)
Reset Media Encoder Preferences (CTRL + ALT + SHIFT)
Cleanup Media Encoder Caches
Cleanup non-present Mass Storage devices Device Manager (requires setting the system environment variable: DEVMGR_SHOW_NONPRESENT_DEVICES = 1
Disable Firewall
Remove Apple QuickTime 7.75.80.95
Create a new User Account (Administrator) profile.
Reference Web Links
http://helpx.adobe.com/x-productkb/multi/startup-screen-hangs-premiere-after.html
http://kb2.adobe.com/cps/407/kb407106.html
https://forums.adobe.com/thread/1321458THIS IS IT!! This solves all of my problems with dynamic link between Pr, Ae, and AME. THANK YOU!
I too had nView enabled, and once I disabled it, dynamic link is working again. Not sure what it is doing, but it is definitely the source of this issue.
Cheers,
Griz -
Hi Everybody,
i'm playing a little bit with Windows Azure and I'm blocked with a really simple issue (or maybe not).
I've created a Cloud Service containing one simple Worker Role. I've configured an EndPoint in the WorkerRole configuration, which allows Input connections via tcp on port 10100.
Here the ServiceDefinition.csdef file content:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="EmacCloudService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-01.2.3">
<WorkerRole name="TcpListenerWorkerRole" vmsize="Small">
<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="RemoteAccess" />
<Import moduleName="RemoteForwarder" />
</Imports>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="tcp" port="10100" />
</Endpoints>
</WorkerRole>
</ServiceDefinition>
This WorkerRole is just creating a TcpListener object listening to the configured port (using the RoleEnvironment instance) and waits for an incoming connection. It receives a message and returns a hardcoded message (see code snippet below).
namespace TcpListenerWorkerRole
using System;
using System.Net;
using Microsoft.WindowsAzure.ServiceRuntime;
using System.Net.Sockets;
using System.Text;
using Roche.Emac.Infrastructure;
using System.IO;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.Diagnostics;
using System.Linq;
public class WorkerRole : RoleEntryPoint
public override void Run()
// This is a sample worker implementation. Replace with your logic.
LoggingProvider.Logger.Info("TcpListenerWorkerRole entry point called");
TcpListener listener = null;
try
listener = new TcpListener(RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint);
listener.ExclusiveAddressUse = false;
listener.Start();
LoggingProvider.Logger.Info(string.Format("TcpListener started at '{0}:{1}'", RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Address, RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint.Port));
catch (SocketException ex)
LoggingProvider.Logger.Exception("Unexpected exception while creating the TcpListener", ex);
return;
while (true)
Task.Run(async () =>
TcpClient client = await listener.AcceptTcpClientAsync();
LoggingProvider.Logger.Info(string.Format("Client connected. Address='{0}'", client.Client.RemoteEndPoint.ToString()));
NetworkStream networkStream = client.GetStream();
StreamReader reader = new StreamReader(networkStream);
StreamWriter writer = new StreamWriter(networkStream);
writer.AutoFlush = true;
string input = string.Empty;
while (true)
try
char[] receivedChars = new char[client.ReceiveBufferSize];
LoggingProvider.Logger.Info("Buffer size: " + client.ReceiveBufferSize);
int readedChars = reader.Read(receivedChars, 0, client.ReceiveBufferSize);
char[] validChars = new char[readedChars];
Array.ConstrainedCopy(receivedChars, 0, validChars, 0, readedChars);
input = new string(validChars);
LoggingProvider.Logger.Info("This is what the host sent to you: " + input+". Readed chars=" + readedChars);
try
string orderResultFormat = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\xB")) + @"MSH|^~\&|Instrument|Laboratory|LIS|LIS Facility|20120427123212+0100||ORL^O34^ORL_O34| 11|P|2.5.1||||||UNICODE UTF-8|||LAB-28^IHE" + Environment.NewLine + "MSA|AA|10" + Environment.NewLine + @"PID|||patientId||""""||19700101|M" + Environment.NewLine + "SPM|1|sampleId&ROCHE||ORH^^HL70487|||||||P^^HL70369" + Environment.NewLine + "SAC|||sampleId" + Environment.NewLine + "ORC|OK|orderId|||SC||||20120427123212" + Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\x1c\x0d"));
writer.Write(orderResultFormat);
catch (Exception e)
LoggingProvider.Logger.Exception("Unexpected exception while writting the response", e);
client.Close();
break;
catch (Exception ex)
LoggingProvider.Logger.Exception("Unexpected exception while Reading the request", ex);
client.Close();
break;
}).Wait();
public override bool OnStart()
// Set the maximum number of concurrent connections
ServicePointManager.DefaultConnectionLimit = 12;
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString");
RoleEnvironment.Changing += RoleEnvironment_Changing;
return base.OnStart();
private void RoleEnvironment_Changing(object sender, RoleEnvironmentChangingEventArgs e)
// If a configuration setting is changing
LoggingProvider.Logger.Info("RoleEnvironment is changing....");
if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))
// Set e.Cancel to true to restart this role instance
e.Cancel = true;
As you can see, nothing special is being done. I've used the RoleEnvironment.CurrentRoleInstance.InstanceEndpoints to retrieve the current IPEndpoint.
Running the Cloud Service in the Windows Azure Compute Emulator everything works fine, but when I deploy it in Azure, then I receive the following Exception:
2014-08-06 14:55:23,816 [Role Start Thread] INFO EMAC Log - TcpListenerWorkerRole entry point called
2014-08-06 14:55:24,145 [Role Start Thread] INFO EMAC Log - TcpListener started at '100.74.10.55:10100'
2014-08-06 15:06:19,375 [9] INFO EMAC Log - Client connected. Address='196.3.50.254:51934'
2014-08-06 15:06:19,375 [9] INFO EMAC Log - Buffer size: 65536
2014-08-06 15:06:45,491 [9] FATAL EMAC Log - Unexpected exception while Reading the request
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
at TcpListenerWorkerRole.WorkerRole.<>c__DisplayClass0.<<Run>b__2>d__0.MoveNext() in C:\Work\Own projects\EMAC\AzureCloudEmac\TcpListenerWorkerRole\WorkerRole.cs:line 60
I've already tried to configure an internal port in the ServiceDefinition.csdef file, but I get the same exception there.
As you can see, the client can connect to the service (the log shows the message: Client connected with the address) but when it tries to read the bytes from the stream, it throws the exception.
For me it seems like Azure is preventing the retrieval of the message. I've tried to disable the Firewall in the VM in Azure and the same continues happening.
I'm using Windows Azure SDK 2.3
Any help will be very very welcome!
Thanks in advance!
Javier
En caso de que la respuesta te sirva, porfavor, márcala como válida
Muchas gracias y suerte!
Javier Jiménez Roda
Blog: http://jimenezroda.wordpress.comhi Javier,
I changed your code like this:
private AutoResetEvent connectionWaitHandle = new AutoResetEvent(false);
public override void Run()
TcpListener listener = null;
try
listener = new TcpListener(
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint"].IPEndpoint);
listener.ExclusiveAddressUse = false;
listener.Start();
catch (SocketException se)
return;
while (true)
IAsyncResult result = listener.BeginAcceptTcpClient(HandleAsyncConnection, listener);
connectionWaitHandle.WaitOne();
The HandleAsync method is your "While (true)" code:
private void HandleAsyncConnection(IAsyncResult result)
TcpListener listener = (TcpListener)result.AsyncState;
TcpClient client = listener.EndAcceptTcpClient(result);
connectionWaitHandle.Set();
NetworkStream netStream = client.GetStream();
StreamReader reader = new StreamReader(netStream);
StreamWriter writer = new StreamWriter(netStream);
writer.AutoFlush = true;
string input = string.Empty;
try
char[] receivedChars = new char[client.ReceiveBufferSize];
// LoggingProvider.Logger.Info("Buffer size: " + client.ReceiveBufferSize);
int readedChars = reader.Read(receivedChars, 0, client.ReceiveBufferSize);
char[] validChars = new char[readedChars];
Array.ConstrainedCopy(receivedChars, 0, validChars, 0, readedChars);
input = new string(validChars);
// LoggingProvider.Logger.Info("This is what the host sent to you: " + input + ". Readed chars=" + readedChars);
try
string orderResultFormat = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\xB")) + @"MSH|^~\&|Instrument|Laboratory|LIS|LIS Facility|20120427123212+0100||ORL^O34^ORL_O34| 11|P|2.5.1||||||UNICODE UTF-8|||LAB-28^IHE" + Environment.NewLine + "MSA|AA|10" + Environment.NewLine + @"PID|||patientId||""""||19700101|M" + Environment.NewLine + "SPM|1|sampleId&ROCHE||ORH^^HL70487|||||||P^^HL70369" + Environment.NewLine + "SAC|||sampleId" + Environment.NewLine + "ORC|OK|orderId|||SC||||20120427123212" + Encoding.ASCII.GetString(Encoding.ASCII.GetBytes("\x1c\x0d"));
writer.Write(orderResultFormat);
catch (Exception e)
// LoggingProvider.Logger.Exception("Unexpected exception while writting the response", e);
client.Close();
catch (Exception ex)
//LoggingProvider.Logger.Exception("Unexpected exception while Reading the request", ex);
client.Close();
Please try it. For this error message, I suggest you could refer to this thread (http://stackoverflow.com/questions/6173763/using-windows-azure-to-use-as-a-tcp-server
) and this post (http://stackoverflow.com/a/5420788).
Regards,
Will
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.
Maybe you are looking for
-
Can anybody shed some light on this? Replacement iphone activation issue
I'm on an orange france contract and recently had a faulty iphone 3g black 16gb replaced by apple. When I put my original sim into the new iphone and connect up to itunes 8 I get the following message: 'The sim card inserted into this iphone does not
-
Since upgrading to 31.4.0 my Reply messages are not saved.
When sending a Reply I get an error message "There was an error saving the message to Sent. Retry?" Clicking OK brings the same error message again and again. Cancelling or closing the error message stops the error message, but my Reply is not saved,
-
Query tuning : you can do it yourself
Hello, This thread is not a question. How tune my query ? My query didn't use indexes why ? I have indexes on table, stats are up-to-date why Oracle does a full scan on table ? What are the hint which I can use ? etc... I would like try to answer to
-
Dear Experts Requirement Our client acquire one particular asset on 30/03/2014,and they want to complete deprecation on 14/04/2014 means is 16 days of deprecation how can i do it with SAP Acquisition cost =1500000 Days is = 16 days depreciation rate
-
I have 3 items on page. two items are linked with one item. names of items are:- P27_ITEM_GROUP P27_ITM P27_ITEM both P27_ITM,P27_ITEM are linked with P27_ITEM_GROUP item. when i choose the value 'without group' of P27_ITEM_GROUP item then it should