CCR-webservice

16 views
Skip to first unread message

Bob Smith

unread,
Nov 16, 2010, 8:01:31 PM11/16/10
to Hardhats
Well, I had this running earlier today, bringing up the CCR display
page and hitting the local Vista DB. Now it is no longer working. I
get "Session has expired. Please login again." which is basically just
the generic error message when something goes wrong.

Things I have checked out:

The OVID get-patients.bat script -> Works
The ccr/src/webapp/META-INF/context.xml -> Has correct server/port/
login info
Tomcat service is running
netstat is showing the appropriate ports being used.
I've looked though the Tomcat log files and nothing like an error
appears. Lots of activity logged.
I've looked at ^XTER in GT.M, no errors for today.

I'm about at my wit's end. Anyone have any suggestions?

Thanks!

David Whitten

unread,
Nov 16, 2010, 9:12:45 PM11/16/10
to hard...@googlegroups.com
Does OVID use the time-out information from VistA ?


Bob Smith

unread,
Nov 16, 2010, 9:30:26 PM11/16/10
to Hardhats
I don't think it is a timeout issue, like I said that error message
gets displayed no matter what the problem is. I think it is a security
or RPC problem, but I can't find where anything beyond generic Java
info is logged.
> > To unsubscribe, send email to Hardhats+u...@googlegroups.com<Hardhats%2Bunsubscribe@googlegroups.c om>

Nancy Anthracite

unread,
Nov 16, 2010, 11:06:34 PM11/16/10
to hard...@googlegroups.com, Bob Smith
Try looking in the broker log

nancy@owl:~$ gtm

GTM>S DUZ=9 D ^XUP

Setting up programmer environment
This is a TEST account.

Terminal Type set to: C-VT100

You have 107 new messages.
Select OPTION NAME: eve
1 EVE Systems Manager Menu
2 EVENT CAPTURE (ECS) EXTRACT AU ECX ECS SOURCE AUDIT Event
Capture
(ECS) Extract Audit
3 EVENT CAPTURE DATA ENTRY ECENTER Event Capture Data Entry
4 EVENT CAPTURE EXTRACT ECXEC Event Capture Extract
5 EVENT CAPTURE MANAGEMENT MENU ECMGR Event Capture Management
Menu
Press <RETURN> to see more, '^' to exit this list, OR
CHOOSE 1-5: 1 EVE Systems Manager Menu

WARNING -- TASK MANAGER DOESN'T SEEM TO BE RUNNING!!!!


Core Applications ...
Device Management ...
Menu Management ...
Programmer Options ...
Operations Management ...
Spool Management ...
Information Security Officer Menu ...
Taskman Management ...
User Management ...
FM VA FileMan ...
Application Utilities ...
Capacity Planning ...
HL7 Main Menu ...
Manage Mailman ...
MAS Parameter Entry/Edit


You've got PRIORITY mail!


Select Systems Manager Menu Option: operations Management


System Status
Introductory text edit
CPU/Service/User/Device Stats
RJD Kill off a users' job
Alert Management ...
Alpha/Beta Test Option Usage Menu ...
Clean old Job Nodes in XUTL
Delete Old (>14 d) Alerts
Foundations Management
Kernel Management Menu ...
Post sign-in Text Edit
RPC Broker Management Menu ...
User Management Menu ...


You've got PRIORITY mail!


Select Operations Management Option: RPC Broker Management Menu


RPC Listener Edit
Start All RPC Broker Listeners
Stop All RPC Broker Listeners
Clear XWB Log Files
Debug Parameter Edit
View XWB Log


You've got PRIORITY mail!


Select RPC Broker Management Menu Option: debug Parameter Edit

----- Setting RPCBroker debug logging for System: BETA.VISTA-OFFICE.ORG -----
Enable Broker Logging: very Verbose// 3 very Verbose


RPC Listener Edit
Start All RPC Broker Listeners
Stop All RPC Broker Listeners
Clear XWB Log Files
Debug Parameter Edit
View XWB Log


You've got PRIORITY mail!


Select RPC Broker Management Menu Option:


--
Nancy Anthracite

Bob Smith

unread,
Nov 16, 2010, 11:29:14 PM11/16/10
to Hardhats
Thanks Nancy - Turned it on and got this. Not sure if it is good or
bad. The Reject at the end certainly looks bad:

Select RPC Broker Management Menu Option: view XWB Log
Log Files

Log from Job 4510 61 Lines
23:22:27 = Log start: Nov 16, 2010@23:22:27
23:22:27 = XWBTCPM
23:22:27 = rd: [XWB]
23:22:27 = MSG format is [XWB] type NEW
23:22:27 = rd: 1130
23:22:27 = rd: 4
23:22:27 = rd: \10
23:22:27 = rd: TCPConnect
23:22:27 = CMD: TCPConnect
23:22:27 = rd: 5
23:22:27 = rd: 0
23:22:27 = rd: 009
23:22:27 = rd: 127.0.0.1
23:22:27 = rd: f
23:22:27 = rd: 4
23:22:27 = rd: f
23:22:27 = rd: 0
23:22:27 = rd: 001
23:22:27 = rd: 0
23:22:27 = rd: f
23:22:27 = rd: 4
23:22:27 = rd: f
23:22:27 = rd: 0
23:22:27 = rd: 004
23:22:27 = rd: OVID
23:22:27 = rd: f
23:22:27 = rd: \04
23:22:27 = wrt (9): \00\00accept\04
23:22:27 = accept
23:22:27 = rd: [
23:22:27 = rd: XWB]
23:22:27 = rd: 1130
23:22:27 = rd: 2
23:22:27 = rd: \01
23:22:27 = rd: 1
23:22:27 = rd: \16
23:22:27 = rd: XUS SIGNON SETUP
23:22:27 = RPC: XUS SIGNON SETUP
23:22:27 = rd: 5
23:22:27 = rd: 4
23:22:27 = rd: f
23:22:27 = rd: \04
23:22:27 = Call: SETUP^XUSRB(.XWBY)
23:22:27 = wrt (59): \00\00Ubuntu810\13\10EHR\13\10EHR
\13\100\13\103\13\100\13\
10BETA.VISTA-OFFICE.ORG\13\100\13\10\04
23:22:27 = rd: [
23:22:27 = rd: XWB]
23:22:27 = rd: 1130
23:22:27 = rd: 2
23:22:27 = rd: \01
23:22:27 = rd: 1
23:22:27 = rd: \11
23:22:27 = rd: XUS AV CODE
23:22:27 = RPC: XUS AV CODE
23:22:27 = rd: 5
23:22:27 = rd: 0
23:22:27 = rd: 026
23:22:27 = rd: .5~x`fseaef8u{8`f]Rvg$'v[(
23:22:27 = rd: f
23:22:27 = rd: \04
23:22:27 = Call: VALIDAV^XUSRB(.XWBY,XWB(5,"P",0))
23:22:28 = wrt (81):
\00\0011\13\100\13\100\13\10\13\100\13\100\13\10\13\10Good
evening Doc\13\10 You last signed on today at
22:41\13\10\04
Return to continue, Next log, Exit: Continue//

Log from Job 4530 15 Lines
23:22:28 = Log start: Nov 16, 2010@23:22:28
23:22:28 = XWBTCPM
23:22:28 = rd: [XWB]
23:22:28 = MSG format is [XWB] type NEW
23:22:28 = rd: 1130
23:22:28 = rd: 4
23:22:28 = rd: \05
23:22:28 = rd: #BYE#
23:22:28 = CMD: #BYE#
23:22:28 = rd: 5
23:22:28 = rd: 4
23:22:28 = rd: f
23:22:28 = rd: \04
23:22:28 = wrt (9): \00\00reject\04
23:22:28 = reject: #BYE#^10.0.2.2
Return to continue, Next log, Exit: Continue//

Sam Habiel

unread,
Nov 17, 2010, 4:00:26 AM11/17/10
to hard...@googlegroups.com
A quick thing to try:

Run this option from XUP (it doesn't produce any output) and see if it
fixes your issue.

XU PROC CNT CLUP

Sam

Bob Smith

unread,
Nov 17, 2010, 7:31:22 AM11/17/10
to Hardhats
Thanks Sam, but no dice. Any other ideas?
> > To unsubscribe, send email to Hardhats+u...@googlegroups.com- Hide quoted text -
>
> - Show quoted text -

Sam Habiel

unread,
Nov 17, 2010, 5:35:15 PM11/17/10
to hard...@googlegroups.com
Before we get in too deep into M code, why don't you try running CPRS
or any of the other clients that rely on the new style broker? See if
they connect. Depending on the outcome, then we will know where the
problem is.

Sam

Bob Smith

unread,
Nov 17, 2010, 5:46:05 PM11/17/10
to Hardhats
CPRS has worked beautifully all along.

I've been putting debugging code into the Java web services and JSP
pages, trying to track it down. I think there might be some sort of
user security issue.
> >> > To unsubscribe, send email to Hardhats+unsubscr...@googlegroups.com- Hide quoted text -

Sam Habiel

unread,
Nov 17, 2010, 6:49:42 PM11/17/10
to hard...@googlegroups.com
I Looked at your log again. It actutally looks good. The reject is
there because you are trying to connect again but are not sending the
word "TCPConnect" in your header message. I should have read it more
carefully before sending you on a spin.

The relevant code is in XWBTCPM.
S X=$$NEWJOB() D:'X LOG("No New Connects")
I ($P(MSG,U)'="TCPConnect")!('X) D QSND^XWBRW("reject"),LOG("reject: "_MSG) Q

If CPRS works fine, then the problem isn't in the state of VISTA.

Sam

> To unsubscribe, send email to Hardhats+u...@googlegroups.com
>

Bob Smith

unread,
Nov 17, 2010, 8:43:04 PM11/17/10
to Hardhats
A CLUE!!

It is failing when the query to get the list of patients is built in
PatientRepository.java. It was dying with a Null Pointer exception at
the query.getField statements below. For some reason the field list is
not loading. If I comment all of them out, I get to the CCR display
screen and there are 4 patients in the drop-down list, although their
attributes are all null because I commented out the query fields. If I
click on one, the valid CCR appears!! (ignore all the other debugging
code)

So, why can't the web service get the Patient File field list???

public Collection<FMPatient> getAllPatients() throws
OvidDomainException {
Collection<FMPatient> list = new ArrayList<FMPatient>();
RPCConnection connection = null;
try {
connection = ServeruserPool.getInstance().getConnection();
if (connection != null) {
System.out.println("gatAllPatients: Connector not null");
}
ResAdapter adapter = obtainRPCResAdapter();
if (adapter != null) {
System.out.println("gatAllPatients: adapter not null");
}

FMQueryList query = new FMQueryList(adapter,
FMPatient.getFileInfoForClass());
if (query != null) {
System.out.println("gatAllPatients: query not null: " +
ReflectionToStringBuilder.toString(query) );
}

//query.getField("ATTENDING
PHYSICIAN").setInternal(false);
//query.getField("CURRENT ROOM").setInternal(false);
//query.getField("CURRENT MOVEMENT").setInternal(false);
//query.getField("PROVIDER").setInternal(false);
FMResultSet results = query.execute();
if (results != null) {
if (results.getError() != null) {
throw new OvidDomainException(results.getError());
}
while (results.next()) {
list.add(new FMPatient(results));
}
}
} catch (ResException e) {
throw new OvidDomainException(e);
} finally {
ServeruserPool.getInstance().returnToPool(connection);
}

return list;

Chris Farley

unread,
Nov 18, 2010, 1:25:42 AM11/18/10
to hard...@googlegroups.com
System.out.println("gatAllPatients: adapter not null");

Maybe the "gat" in this line?

Christopher B. Farley
HIT Consultant
Member: VSA, PMI, HL7, HIMSS, WV
Cell: 703-819-9145

A CLUE!!

return list;

--

Aylesworth, Marc CTR USAF AFMC AFRL/RISE

unread,
Nov 19, 2010, 8:53:35 AM11/19/10
to hard...@googlegroups.com
Bob, it looks like the field list is empty or does not contain the fields that you are looking for in the request , look for a setField() method to set the Fields. This is a quess from my experience with java and not knowledge of the API. It seems that you have to set the Fields you want returned maybe? If the List is empty and you use a getXXX() method it is customary to return NULL.
 
Marc Aylesworth
 
RRC C3I Group
525 Brooks Road
Rome, NY 13440
 
 


From: Bob Smith
Sent: Wed 11/17/2010 8:43 PM

To: Hardhats
Subject: [Hardhats] Re: CCR-webservice

A CLUE!!

It is failing when the query to get the list of patients is built in
PatientRepository.java. It was dying with a Null Pointer exception at
the query.getField statements below. For some reason the field list is
not loading. If I comment all of them out, I get to the CCR display
screen and there are 4 patients in the drop-down list, although their
attributes are all null because I commented out the query fields. If I
click on one, the valid CCR appears!! (ignore all the other debugging
code)

So, why can't the web service get the Patient File field list???

 public Collection<FMPatient> getAllPatients() throws
OvidDomainException {
        Collection<FMPatient> list = new ArrayList<FMPatient>();
        RPCConnection connection = null;
        try {
            connection = ServeruserPool.getInstance().getConnection();
			if (connection != null) {
				System.out.println("gatAllPatients: Connector not null");
			}
            ResAdapter adapter = obtainRPCResAdapter();
			if (adapter != null) {
				System.out.println("gatAllPatients: adapter not null");
			}

            FMQueryList query = new FMQueryList(adapter,
FMPatient.getFileInfoForClass());
			if (query != null) {
				System.out.println("gatAllPatients: query not null: " +
ReflectionToStringBuilder.toString(query) );
			}

            //query.getField("ATTENDING
PHYSICIAN").setInternal(false);
            //query.getField("CURRENT ROOM").setInternal(false);
            //query.getField("CURRENT MOVEMENT").setInternal(false);
            //query.getField("PROVIDER").setInternal(false);
            FMResultSet results = query.execute();
            if (results != null) {
                if (results.getError() != null) {
                    throw new OvidDomainException(results.getError());
                }
                while (results.next()) {
                    list.add(new FMPatient(results));
                }
            }
        } catch (ResException e) {
            throw new OvidDomainException(e);
        } finally {
        	ServeruserPool.getInstance().returnToPool(connection);
        }

        return list;

-- 
Reply all
Reply to author
Forward
0 new messages