Mappings file
Is some one can give me some explanation on the line
tcp_*|*|ims-ms|* $N find in the ORIG_SEND_ACCESS prt of the mappings table?
If we look at the log file we can see this:
17-Feb-2005 15:39:01.51 tcp_intranet ims-ms E 1 [email protected] rfc822;[email protected] test1%testproxy.be@ims-ms-daemon
But the meaning of the rule is any mail coming from a tcp_* chanel and route to the ims-ms chanel must be discard so how the mail can be delivered?
Thanks in advance
Hi,
The version is:
Sun ONE Messaging Server 6.0 HotFix 1.04 (built Jun 3 2004)
libimta.so 6.0 HotFix 1.04 (built 13:20:57, Jun 3 2004)
The mappings content is:
! MTA mappings file
! for access control and other table lookups
PORT_ACCESS
*|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E
* $YEXTERNAL
INTERNAL_IP
$(151.90.252.94/24) $Y
127.0.0.1 $Y
* $Y
! * $N
ORIG_SEND_ACCESS
tcp_local|*|tcp_local|* $N$D30|Relaying$ not$ allowed
tcp_*|*|native|* $N
tcp_*|*|hold|* $N
tcp_*|*|pipe|* $N
tcp_*|*|ims-ms|* $N
! Block "external" submissions of explicitly source-routed "internal" addresses
tcp_local|*|tcp_intranet|@*:*.* $N$D30|Explicit$ routing$ not$ allowed
tcp_local|*|tcp_intranet|*$%*@* $N$D30|Explicit$ routing$ not$ allowed
tcp_local|*|tcp_intranet|*.*!*@* $N$D30|Explicit$ routing$ not$ allowed
tcp_local|*|tcp_intranet|"*@*"@* $N$D30|Explicit$ routing$ not$ allowed
SEND_ACCESS
tcp_*|*|*|*@[127.*] $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@localhost.* $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@example.com $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@example.net $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@example.org $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@*.test $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@*.example $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@*.invalid $X5.1.2|$NBad$ destination$ system
tcp_*|*|*|*@*.localhost $X5.1.2|$NBad$ destination$ system
<IMTA_TABLE:mappings.locale
Similar Messages
-
Mappings file reference sequence
Does anyone tell me in which order iMS refers the mappings file "mapping table"?
What I expect here is the sequence iMS refers on PORT_ACCESS, INTERNAL_IP, ORIG_MAIL_ACCESS, ORIG_SEND_ACCESS, SEND_ACCESS, etc....
I noticed it is not refer as in the order given in mappings file.In that case, could you kindly tell me how I can allow one "source from addr" come from "particular IP" (orig_mail_access), while others hit default entry listed in "orig_send_access".
Actually, I have configure SMTP AUTH and anybody not authenticated hits an entry (tcp_local|*|tcp_local|* $N$D30|Relaying$ not$ allowed) in ORIG_SEND_ACCESS. I wanna config one administrative "from addr" come from another server to allow relaying without authentication. -
iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)
What is the preferred method of configuring an MTA to not take outside connections at all but only those generated on the local host?
Do I comment out the " * $YEXTERNAL" line in my mappings file ?
Also, if I wanted to only take connections from a couple subnets what is the syntax, eg from 128.111.207/206 subnets.
Pasted below is the current mappings settings for the MTA in question:
! Modified by IMS administration server on: Sat Jun 05 22:43:51 PDT 2004
PORT_ACCESS
*|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E
* $YEXTERNAL
INTERNAL_IP
$(128.111.207.251/32) $Y
127.0.0.1 $Y
* $NHi,
What is the preferred method of configuring an MTA to
not take outside connections at all but only those
generated on the local host?
Do I comment out the " * $YEXTERNAL" line in my
mappings file ?I don't know about a preferred method but one method would be to replace " * $YEXTERNAL" with " * $N". Any host/IP address that doesn't match your INTERNAL_IP mapping table will be rejected.
Also, if I wanted to only take connections from a
couple subnets what is the syntax, eg from
128.111.207/206 subnets.If you wanted to treat these subnets as 'internal' (so they can relay through your system) you would add the following to your INTERNAL_IP mapping file (just above the $N line):
$(128.111.206.0/24) $Y
$(128.111.207.0/24) $YOtherwise you would add the same lines to your PORT_ACCESS mapping table just above the $N (and then the emails from these hosts would be treated as 'external', namely on tcp_local.
You need to run ./imsimta cnbuild; ./imsimta refresh after making the changes.
Regards,
Shane. -
From external: block all domains except one MAPPINGS file?
Here's the problem...
I have an old domain that my mailserver is still authoritive for. We receive mail through a mail ISP cluster, in that sense that our internal mailserver does not have any MX-records associated with it. All MX-records point to the ISP.
We have recently changed domain name because of a merger.
I am still rewriting all RCPT TO: [user]@olddomain.com to RCPT TO: [user]@newdomain.com in imta config.
I now want to end that rewriting using the mappings file for all except but one domain.
So the end result should be:
MAIL FROM: all domains -> [user]@olddomain.com REJECT $Netc......
but!
MAIL FROM: specific domain -> [user]@olddomain.com should still be passed on to the IMTA.
I have used SEND_ACCESS before as a method of blocking mail, but this is specific... I want to block the whole world except one originating domain (for the old domain)
Does anyone have a working example of this and could you provide it for me?
TIA
EliJay :-)
We have reinstalled iPlanet Messaging Server 5.2 on Windows Server using all new servername FQDN and all new domain hosting for.
FQDN: mail.new-domain.local
Mail authoritive for: new-domain.com
Server is located on the LAN and gets it's mail from an ISP using mailkick.
Server is actually not aware (neither in MX, nor in LDAP records) of the old domain.
The only way the server gets it's mail is through smart-hosting. It just works and acts as a new server. Mail for the old-domain.com (organization) is accepted because I rewrite the domain part of the old-domain.com to new-domain.com
old-domain.com $U%[email protected]
Server accepts mail from all sending/origination domains only for the TO: new-domain.com it is authoritive for.
Now here is the catch... I want to disable the TO: domain-rewriting, because people need to use the new-domain when addressing us.
There is still only ONE organization out there that needs to address the old-domain.com because of X.509 encrypted mail. This is the only domain I will do rewriting for.
Hence is why I was looking at the SEND_ACCESS
It has some ways of blocking part of a sender or address part of a enveloppe based on wildcards etc....
Yet only blocking....
How do I block the whole world except that old organization we still do business with. Mail for the old domain is also delivered through the same mailkick by ISP.
So if whole world -> [some user]@old-domain.com REJECT
and
single organization -> [some user]@old-domain.com ACCEPT and continue REWRITING
Hope I shed a bit more light on the subject....
Eli -
hi all,
in iMS 5.2, can any one suggest me how to write a rule in mapping file so that any mail sent from a particular user (say [email protected]) is also sent (i.e. Bcc 'd ) to [email protected] in addition to the "To:" address which the mail actually goes.
this is required to monitor all mails originating from the address [email protected]
regards,
rajesh.Yeah, no.
1. there is no such thing as a "rewrite rule" in the mappings file.
2. Likely, what you want is a sieve rule, or a "capture" rule.
3. Or, perhaps save the files to disk, like this:
for capturing all messages to disk files (this doesn't mail the messages, just saves 'em on disk, invisibly)
Add to your mappings file like this:
MESSAGE-SAVE-COPY
tcp_local|*@your_domain|D|/usr/ip lanet/server5/msg-dusty/imta/queue/tcp
local/*/* $Y/usr/iplanet/server5/msgsave/$1/$2
Add more lines to capture both inbound and outbound. The above line captures mails sent to the internet.
files get written to the desination directory, for your examination. Since there's no "message" sent, if the destination account gets full, no message gets sent back to give you away. Less performance impact, too.
I have 4 lines in my MESSAGE_SAVE_COPY area, to capture messages for specific people. . You may need fewer or more, depending on your exact needs. -
Mail server configuration mappings file
Hello
I have just installed the following mail serverSun Java(tm) System Messaging Server 6.3-0.15 (built Feb 9 2007)
libimta.so 6.3-0.15 (built 19:27:56, Feb 9 2007)
SunOS mail.yurnero.com 5.10 Generic_118833-36 sun4u sparc SUNW,Sun-Fire-V240
After installation I want it to be able to perform the following operations which it is not currently allowing
1- Sending mails through thunderbird/outlook * Authenticated *
Currently it displays the message "relaying not allowed" I understand that I need to configure the mappings file, yet the mappings file i had of the old server (2005Q4) does'nt works
Can anybody guide me about how to create a mappings file, the administration reference only gives syntax and not a real life scenario
2- Sending mails to other domains
I have done the dns entry, while it is still not working , what other things should i check?
regards
KimiFirst, you should connect to sunsolve.com, and download the current patches for your original release of 6.3. Many bugs are fixed.
now, you need to decide on the range of IP addresses that the server considers "internal" to your environment. Those go in the "internal_ip" table in the mapping file.
Also, you need to configure your mail client to use authentication. The server configuration by default allows this, and shows an authenticated smtp connection by "EA" in the enqueue log entry, for "Enqueue, Authenticated". Authenticated users are allowed to relay, so the fact that you got the message, "relaying not permitted" shows that your client did not authenticate.
Remember, after changing the mappings file, or many other configuration details, you must run:
imsimta cnbuild
and then restart the portion of the MTA affected. In this case, it's the dispatcher:
imsimta restart dispatcher -
Relay Problem, Relay Prohibited, mappings file look fine
Hello Everybody.
I am suffering from a relay problem.
I can'not send mail to for example hotmail.com from Messenger express and outlook express.
I can send from outlook express where i activate AUTH.
I check mappings file and i see allright.
The local network is enabled, and the localhost too.
I also check all the posts in the forum and i didn't find the answer.
My mappings file looks like:
! MTA mappings file
! for access control and other table lookups
PORT_ACCESS
*|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E
* $YEXTERNAL
INTERNAL_IP
$(10.11.0.0/16) $Y
$(10.31.0.0/24) $Y
$(200.68.91.33/32) $Y
127.0.0.1 $Y
* $N
ORIG_SEND_ACCESS
tcp_local|*|tcp_local|* $N$D30|Relaying$ not$ allowed
tcp_*|*|native|* $N
tcp_*|*|hold|* $N
tcp_*|*|pipe|* $N
tcp_*|*|ims-ms|* $N
! Block "external" submissions of explicitly source-routed "internal" addresses
tcp_local|*|tcp_intranet|@*:*.* $N$D30|Explicit$ routing$ not$ allowed
tcp_local|*|tcp_intranet|*$%*@* $N$D30|Explicit$ routing$ not$ allowed
tcp_local|*|tcp_intranet|*.*!*@* $N$D30|Explicit$ routing$ not$ allowed
tcp_local|*|tcp_intranet|"*@*"@* $N$D30|Explicit$ routing$ not$ allowed
Does anybody has answer for this problem?
Thanks very much,
AndresI also put imta.cnf:
! IMTA configuration file
! part I : rewrite rules
! Domain Rewrite Rules.
! Uncomment this line to use domain rewrite rules
! from the configuration file instead of the domain database.
! Please refer to the iMS documentation for details.
!<IMTA_TABLE:domains.rules
! Rules to select local users
$* $A$E$F$U%[email protected]
acafipri.acasalud.com.ar $U%[email protected]
acasalud.com.ar $U%[email protected]
! ims-ms
.ims-ms-daemon $U%$H.ims-ms-daemon@ims-ms-daemon
! lmtp
!.lmtp $U%$H@lmtpcs-daemon
! native
.native-daemon $U%$H.native-daemon@native-daemon
! pipe
.pipe-daemon $U%$H.pipe-daemon@pipe-daemon
! tcp_local
! Rules for top level internet domains
<IMTA_TABLE:internet.rules
! tcp_intranet
! Do mapping lookup for internal IP addresses
[] $E$R${INTERNAL_IP,$L}$U%[$L]@tcp_intranet-daemon
.acasalud.com.ar $U%$H.acasalud.com.ar@tcp_intranet-daemon
* $U%$&0.acasalud.com.ar
! reprocess
reprocess $U%reprocess.acafipri.acasalud.com.ar@reprocess-daemon
reprocess.acafipri.acasalud.com.ar $U%reprocess.acafipri.acasalud.com.ar@reproce
ss-daemon
! process
process $U%process.acafipri.acasalud.com.ar@process-daemon
process.acafipri.acasalud.com.ar $U%process.acafipri.acasalud.com.ar@process-dae
mon
! defragment
defragment $U%defragment.acafipri.acasalud.com.ar@defragment-daemon
defragment.acafipri.acasalud.com.ar $U%defragment.acafipri.acasalud.com.ar@defra
gment-daemon
! conversion
conversion $U%conversion.acafipri.acasalud.com.ar@conversion-daemon
conversion.acafipri.acasalud.com.ar $U%conversion.acafipri.acasalud.com.ar@conve
rsion-daemon
! bitbucket
bitbucket $U%bitbucket.acafipri.acasalud.com.ar@bitbucket-daemon
bitbucket.acafipri.acasalud.com.ar $U%bitbucket.acafipri.acasalud.com.ar@bitbuck
et-daemon
! deleted
deleted-daemon $U%$H@deleted-daemon
.deleted-daemon $U%$H@deleted-daemon
! inactive
inactive-daemon $U%$H@inactive-daemon
.inactive-daemon $U%$H@inactive-daemon
! hold
hold-daemon $U%$H@hold-daemon
.hold-daemon $U%$H@hold-daemon
!tcp_scanner
[] $E$R${tcp_scanner,$L}$U%[$L]@tcp_scanner-daemon
! part II : channel blocks
defaults notices 1 2 3 copywarnpost copysendpost postheadonly noswitchchannel im
mnonurgent maxjobs 7 defaulthost acasalud.com.ar acasalud.com.ar
! delivery channel to local /var/mail store
l subdirs 20 viaaliasrequired maxjobs 7 pool LOCAL_POOL
acafipri.acasalud.com.ar
! ims-ms
ims-ms defragment subdirs 20 notices 1 7 14 21 28 backoff "pt5m" "pt10m" "pt30m"
"pt1h" "pt2h" "pt4h" maxjobs 2 pool IMS_POOL fileinto $U+$S@$D destinationbrigh
tmailoptin spam
ims-ms-daemon
! native
native defragment subdirs 20 maxjobs 1
native-daemon
! pipe
pipe single defragment subdirs 20
pipe-daemon
! tcp_local
tcp_local smtp mx single_sys identtcpnumeric subdirs 20 dequeue_removeroute maxj
obs 7 pool SMTP_POOL maytlsserver maysaslserver allowswitchchannel saslswitchcha
nnel tcp_auth missingrecipientpolicy 4 aliasdetourhost tcp_scanner-daemon
tcp-daemon
! tcp_scanner
tcp_scanner smtp single_sys subdirs 5 notices 1 backoff "pt2h" "pt4h" "pt8h" deq
ueue_removeroute maxjobs 7 pool SMTP_POOL daemon [127.0.0.1] port 10024
tcp_scanner-daemon
! tcp_intranet
tcp_intranet smtp mx single_sys subdirs 20 dequeue_removeroute maxjobs 7 pool SM
TP_POOL maytlsserver maysaslserver allowswitchchannel saslswitchchannel tcp_auth
missingrecipientpolicy 4 aliasdetourhost tcp_scanner-daemon
tcp_intranet-daemon
! tcp_submit
tcp_submit submit smtp mx single_sys mustsaslserver maytlsserver missingrecipien
tpolicy 4 aliasdetourhost tcp_scanner
tcp_submit-daemon
! tcp_auth
tcp_auth smtp mx single_sys mustsaslserver missingrecipientpolicy 4
tcp_auth-daemon
! tcp_tas
tcp_tas smtp mx single_sys allowswitchchannel mustsaslserver maytlsserver delive
ryflags 2
tcp_tas-daemon
! tcp_lmtpss (LMTP server - store)
!tcp_lmtpss lmtp subdirs 20
!tcp_lmtpss-daemon
! tcp_lmtpsn (LMTP server - native)
!tcp_lmtpsn lmtp subdirs 20
!tcp_lmtpsn-daemon
! tcp_lmtpcs (LMTP client - store)
!tcp_lmtpcs defragment lmtp port 225 nomx single_sys subdirs 20 maxjobs 7 pool S
MTP_POOL dequeue_removeroute
!lmtpcs-daemon
! tcp_lmtpcn (LMTP client - native)
!tcp_lmtpcn defragment lmtp port 226 nomx single_sys subdirs 20 maxjobs 7 pool S
MTP_POOL dequeue_removeroute
!lmtpcn-daemon
! reprocess
reprocess
reprocess-daemon
! process
process
process-daemon
! defragment
defragment
defragment-daemon
! conversion
conversion
conversion-daemon
! bitbucket
bitbucket
bitbucket-daemon
! deleted
deleted
deleted-daemon
! inactive
inactive
inactive-daemon
! hold
hold slave
hold-daemon -
SOAP Request - BPM (JDBCs + Mappings + File) - SOAP Response
Hi there,
my scenario:
-soap request to xi
-bpm that do some tasks first with the jdbc-adapter and then with the file-adpater
-soap response (succ/fault) back to the client
do i need a s/a bridge to activate the bpm. i can't find any guideline.
thx
snyderHi,
You can go thro the following blogs for Sync/Asyn bridge.
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] [original link is broken]
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi
/people/ravikumar.allampallam/blog/2005/02/17/bridging-the-sync-async-bridge-with-fork-xi
Regards,
P.Venkat -
How to configure address-2-name mappings in Tiger Server ?
Our primary name server is Debian Linux (thank God). On this box we have address-2-name mappings file. We are using Tiger server as secondary(slave) name server. In the Secondary Zones tab, I entered zone names and their primary name server (debian). Tiger server is acting as secondary name server. But we want to create address-2-name mappings also on this server. How to do this on Tiger Server ? I tried manually creating the file. Everything worked fine. But when I open DNS GUI and added a new Secondary Zone, manually added file is gone. Appreciate any help.
Secondary zones are pulled from a master server.
If you want this machine to have its own zone of hostnames you need to create a primary zone entry, not a secondary zone.
For the primary zone you define the zone name then add the appropriate hostname entries with their corresponding IP addresses. -
Relaying not allowed but mappings seem fine
Hi,
we are running messaging server 5.2 on windows 2000 server. (actually we have 2 servers for 2 different domains, but configured exactly the same)
I have the following problem: on one of the 2 servers, i can't send mail to external mail servers (error is: 5.7.1 relaying not allowed).
However, the mappings file seems ok:
i connect from ip 172.21.3.217, and this is the internal_ip bit of the mappings file:
INTERNAL_IP
$(172.16.208.4/32) $Y
127.0.0.1 $Y
$(172.21.0.0/16) $Y
* $N
the problem arose when i tried to add another subnet. i added it, did a imsimta refresh, and from then on, it wouldn't work anymore.
since then, i also did a imsimta cnbuild, imsimta restart job_controller, even rebooted the machine. no go.
when i'm logged on to the server and i telnet to port 25 (localhost), it works ok.
any suggestions ? this is driving me crazy.
i can only send mail via outlook express with authentication enabled, but we have some tools that can't handle this authentication stuff, so these apps simply refuse to send mail.
another thing, this mail server also insists on connecting to the client on port 113 (auth) before granting access, the other mail server doesn't do this. so apparently there are differences between them, but i don't know where to look.
any ideas please please ?
Tom.
220 galaxy-fits.fitstc.net -- Server ESMTP (iPlanet Messaging Server 5.2 HotFix
1.09 (built Jan 7 2003))
mail from: [email protected]
250-2.5.0 No HELO/EHLO seen; continuing anyway, "port 1347"@BEBRW323.ccntc.atos.
be.
250 2.5.0 Address Ok.
rcpt to: [email protected]
550 5.7.1 Relaying not allowed: [email protected]Is it possible you have "mustsalsserver" configured on your smtp channel? The default is maysaslserver which allows Athenticated SMTP and normal SMTP. If you have mustsasl... You must use Athenticated SMTP.
-
I need help with my mappings file. I need to allow only two users to have complete email access both internally and externally to the mail server. I have being reading the manuals but I just get more confused. Can you please help with an example so that I can get started. the user can email back and forth with each other but not to outsiders. They can get mail from outsiders too.
thanks
KenI've got some ANTI-SPAM stuff at http://ims.balius.com/ Not exactly what you're looking for but you should get some good ideas from it.
-
Blocking a specific to address in mappings
Hi,
I am trying to blocking sending access to a specific address on our front end mta using the mappings file.
The mappings file seems to work if I block on an entire domain, but a specific email address does not work. For example:
SEND_ACCESS
tcp_*|*|*|[email protected] $NMail$ Blocked <--does not block the email
BUT
SEND_ACCESS
tcp_*|*|*|*@ourdomain.com $NMail$ Blocked <---works and blocks all email to the ourdomain.com domain.
Can I not go as fine as a specific email address?Yes, you can go as far as a specific address, but you have to put in what the MTA is seeing at that point.
Note that imsimta test -rewrite will check your address-based _ACCESS
mapping tables and is quick and convenient to use. But to make really
effective use of this, you need to use all relevant switches (so that the
input makes sense) and enable enough debugging in the output so that you
can see what the probe turned out to be. If you have trouble figuring out
how to use all the test -rewrite switches appropriately to get a meaningful
test, then you will need to resort instead to enabling slave_debug on the
relevant incoming tcp_* channels (as well as, say, MM_DEBUG=3 in option.dat).
For imsimsimta test -rewrite, a starting point might be:
imsimta test -rewrite -from=[email protected] -debug=level=3 [email protected]
But depending upon your configuration, you might also need to use switches
such as -source_channel, -sender, -check_expansions, etc. -
Delete specific attachment file through Conversion Channel ?
version : iMS5.2 sp1
O/S : Solaris 2.6 Generic_105181-29
I wanted to delete specific attachment file(ex: ALTDESK.ZIP) through Conversion Channel.
So I set up like below..
1) In mappings file
=================
CONVERSIONS
IN-CHAN=tcp_intranet;OUT-CHAN=tcp_local;CONVERT Yes
==============
I only want to delete attached file from tcp_intranet to tcp_local.
2) msg-INSTANCE/imta/config/conversions
example mail header ::
--- omit ----
MIME-version: 1.0
X-Mailer: iPlanet Messenger Express 5.2 Patch 1 (built Aug 19 2002)
Content-type: multipart/mixed; boundary=--6b2385053506b85
Content-language: ko
X-Accept-Language: ko
Priority: normal
This is a multi-part message in MIME format.
----6b2385053506b85
Content-Type: text/plain; charset=EUC-KR
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
----6b2385053506b85
Content-Type: application/x-zip-compressed
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=ALTDESK.ZIP
- conversions file setting
==================================================
in-channel=tcp_intranet; out-channel=tcp_local;
in-type=application; in-subtype=x-zip-compressed;
parameter-symbol-0=ALTDESK.ZIP; parameter-copy-0=*;
dparameter-symbol-0=ALTDESK.ZIP; dparameter-copy-0=*;
message-header-file=2; original-header-file=1;
override-header-file=1; override-option-file=1;
command="/product/leeky/convert.sh"
============================================
3) /product/leeky/convert.sh file
========================
#!/bin/sh
if [ $? -eq 1 ]; then
echo "STATUS=178030178" >> $OUTPUT_OPTIONS
else
cp $INPUT_FILE $OUTPUT_FILE
fi
=========================
4) The problems I face are
- All of zip files which are filtered is deleted. As you can see 2) I only want to delete ALTDESK.ZIP file
But, all of the zip-compressed files are deleted at the moment.
- This converison channel is work(even if all zip-compressed files are deleted). But sometimes this is not
working(2 or 3 times out of 10). I don not know why.
- Above all, I am not sure 2) and 3) settings are good. English is a second language to me. So it was
not easy to understand conversion channel setting in Admin Guide.
- How can I see the out put of "$OUTPUT_OPTIONS" ? I do not know where I can see that.
Is there anybody to help me ?The section of the admin guide which can help is:
http://docs.sun.com/source/816-6009-10/channel2.htm#42283
Here there is an explanation of how the mime headers of the message part would align with the entries one would put into the conversions file entry. (The document has an error where it talks about APPARENT_NAME and APPARENT_FILENAME. It should really say the words "NAME" and "FILENAME" respectively).
Based on that document, the MIME headers of your message part :
Content-Type: application/x-zip-compressed
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=ALTDESK.ZIP
will align with a conversions file settiong of:
in-channel=tcp_intranet; out-channel=tcp_local;
in-type=application; in-subtype=x-zip-compressed;
parameter-symbol-0=NAME; parameter-copy-0=*;
dparameter-symbol-0=FILENAME; dparameter-copy-0=*;
message-header-file=2; original-header-file=1;
override-header-file=1; override-option-file=1;
command="/product/leeky/convert.sh"
and a /product/leeky/convert.sh script which reads something like:
#!/bin/sh
grep "$FILENAME" /product/leek/badfiles.list
if [ $? -eq 1 ]; then
echo "STATUS=178030178" >> $OUTPUT_OPTIONS
else
grep "$NAME" /product/leek/badfiles.list
if [ $? -eq 1 ]; then
echo "STATUS=178030178" >> $OUTPUT_OPTIONS
else
cp $INPUT_FILE $OUTPUT_FILE
fi
fi
The lines:
parameter-symbol-0=NAME; parameter-copy-0=*;
dparameter-symbol-0=FILENAME; dparameter-copy-0=*;
tells the conversion channel to make the environment variable $NAME avaliable to your program with a value corresponding to the "name=" clause on the Content-Type line of the MIME headers. The environment variable $FILENAME is made avalable to your program and takes on the value extracted from the filename=" clause on the content-disposition line of the MIME headers.
The document at :
http://docs.sun.com/source/816-6092-10/conversion.html
may help provide other examples. -
Problem creating sun-cmp-mappings.xml with xdoclet
I am using xdoclet to create a deployable ear file for the Sun ONE app. server. I am having problems getting a correct sun-mappings.xml file with the correct cmr relation fields.
As an example I created two beans; Account and AccountGroup. AccountGroup has a 1:n relation to Account via the cmr field account. If I look at the resulting sun-mappings file I also get a cmr field "account" in the Account bean, which shouldn't be there.
Can anybody give me a clue what's wrong with this code.
AccountGroupEJB.java :
package test;
import javax.ejb.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
* @ejb.bean
* name="AccountGroup"
* jndi-name="ejb/accountgroup"
* local-jndi-name="ejb/accountgroup"
* primkey-field="id"
* cmp-version="2.x"
* schema="AccountGroupSchema"
* type="CMP"
* view-type="local"
* transaction-type="Container"
* @ejb.pk
* generate="false"
* @ejb.transaction type="Required"
* @ejb.permission unchecked="True"
* @ejb.resource-ref
* res-ref-name="jdbc/test"
* res-type="javax.sql.DataSource"
* res-auth="Container"
* res-sharing-scope="Shareable"
* jndi-name="jdbc/test"
* @ejb.finder
* view-type ="local"
* method-intf="LocalHome"
* query="select distinct object (a) from AccountGroupSchema a"
* signature="java.util.Collection findAll()"
* @ejb.finder
* view-type ="local"
* method-intf="LocalHome"
* query="select distinct object (a) from AccountGroupSchema a where a.id = ?1"
* signature="clover.AccountGroupLocal findByPrimaryKey(java.lang.Integer id)"
* @ejb.persistence
* table-name="accountgroup"
public abstract class AccountGroupEJB implements EntityBean{
public AccountGroupEJB() {
private EntityContext ctx;
* @ejb.create-method
* view-type="local"
public Integer ejbCreate(Integer id,String name) throws CreateException {
setId(id);
setName(name);
return null;
public void ejbPostCreate(Integer id,String name) throws CreateException {
public void ejbActivate() {}
public void ejbLoad() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void ejbStore() {}
public void setEntityContext(EntityContext ctx) {
this.ctx=ctx;
public void unsetEntityContext() {
this.ctx=null;
//abstract acessor methods for all persistent field
* @ejb.persistent-field
* @ejb.persistence
* column-name="accountgroup.id"
* @ejb.interface-method
* view-type="local"
* @ejb.pk-field
public abstract Integer getId();
public abstract void setId(Integer id);
* @ejb.persistent-field
* @ejb.persistence
* column-name="accountgroup.name"
* @ejb.interface-method
* view-type="local"
public abstract String getName();
* @ejb.interface-method
* view-type="local"
public abstract void setName(String name);
* @ejb.interface-method
* view-type="local"
* @ejb.relation
* name="AccountGroup:Account"
* target-ejb="Account"
* role-name="AccountGroup:account"
* target-role-name="Acount"
* multiple="yes"
* @sunone.relation
* column="accountgroup.id"
* target="account.accountgroup_id"
public abstract java.util.Collection getAccount();
* @ejb.interface-method
* view-type="local"
public abstract void setAccount(java.util.Collection accounts);
AccountEJB.java:
package test;
import javax.ejb.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
* @ejb.bean
* name="Account"
* jndi-name="ejb/account"
* local-jndi-name="ejb/account"
* cmp-version="2.x"
* schema="AccountSchema"
* primkey-field="login"
* type="CMP"
* view-type="local"
* transaction-type="Container"
* @ejb.pk
* generate="false"
* @ejb.transaction type="Required"
* @ejb.permission unchecked="True"
* @ejb.resource-ref
* res-ref-name="jdbc/test"
* res-type="javax.sql.DataSource"
* res-auth="Container"
* res-sharing-scope="Shareable"
* jndi-name="jdbc/Mysql"
* @ejb.finder
* view-type ="local"
* method-intf="LocalHome"
* query="select distinct object (a) from AccountSchema a"
* signature="java.util.Collection findAll()"
* @ejb.finder
* view-type ="local"
* method-intf="LocalHome"
* query="select distinct object (a) from AccountSchema a where a.login = ?1"
* result-type-mapping="Local"
* signature="clover.AccountLocal findByPrimaryKey(java.lang.String login)"
* @ejb.persistence
* table-name="account"
public abstract class AccountEJB implements EntityBean{
public AccountEJB() {
private EntityContext ctx;
* @ejb.create-method
* view-type="local"
public String ejbCreate(String login, String name) throws CreateException {
setLogin(login);
setName(name);
return null;
public void ejbPostCreate(String login, String name) {
public void ejbActivate() {}
public void ejbLoad() {}
public void ejbPassivate() {}
public void ejbRemove() {}
public void ejbStore() {}
public void setEntityContext(EntityContext ctx) {
this.ctx=ctx;
public void unsetEntityContext() {
this.ctx=null;
//abstract acessor methods for all persistent field
* @ejb.persistent-field
* @ejb.persistence
* column-name="login"
* @ejb.interface-method
* view-type="local"
* @ejb.pk-field
public abstract String getLogin();
public abstract void setLogin(String login);
* @ejb.persistent-field
* @ejb.persistence
* column-name="name"
* @ejb.interface-method
* view-type="local"
public abstract String getName();
* @ejb.interface-method
* view-type="local"
public abstract void setName(String name);
sun-cmp-mappings.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sun-cmp-mappings PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 OR Mapping //EN" "http://www.sun.com/software/sunone/appserver/dtds/sun-cmp-mapping_1_0.dtd">
<!-- Generated by XDoclet -->
<sun-cmp-mappings>
<sun-cmp-mapping>
<schema>CloverSchema</schema>
<entity-mapping>
<ejb-name>AccountGroup</ejb-name>
<table-name>accountgroup</table-name>
<cmp-field-mapping>
<field-name>id</field-name>
<column-name>accountgroup.id</column-name>
</cmp-field-mapping>
<cmp-field-mapping>
<field-name>name</field-name>
<column-name>accountgroup.name</column-name>
</cmp-field-mapping>
<cmr-field-mapping>
<cmr-field-name>account</cmr-field-name>
<column-pair>
<column-name>accountgroup.id</column-name>
<column-name>account.accountgroup_id</column-name>
</column-pair>
</cmr-field-mapping>
</entity-mapping>
<entity-mapping>
<ejb-name>Account</ejb-name>
<table-name>account</table-name>
<cmp-field-mapping>
<field-name>login</field-name>
<column-name>login</column-name>
</cmp-field-mapping>
<cmp-field-mapping>
<field-name>name</field-name>
<column-name>name</column-name>
</cmp-field-mapping>
<cmr-field-mapping>
<cmr-field-name>account</cmr-field-name>
<column-pair>
<column-name>accountgroup.id</column-name>
<column-name>account.accountgroup_id</column-name>
</column-pair>
</cmr-field-mapping>
</entity-mapping>
</sun-cmp-mapping>
</sun-cmp-mappings>Here is a link to my patch:
http://opensource.atlassian.com/projects/xdoclet/secure/attachment/10294/sunone-rel.patch
Since the patch was created based on a 1.2.0 it is possible that you have to edit in my changes manually.
Note also that my version doesn't support the "target-" attribues. You have to have CMR methods on both sides of the relationship. If one of the methods shouldn't be accessible you can leave out the interface-method tag, and the method will then act as a just a placeholder for xdoclet tags.
For what it's worth we are using my patched xdoclet module to generate descriptors for several hundred CMP/CMR beans and it works perfectly.
/Gunnar -
BUGREPORT: Timestamp issue when creating new url mappings
We have come accross and issue when adding multiple databases and subsiqent url mappings.
the issue presented in the log is
####<Nov 16, 2012 10:49:52 AM CST> <Error> <HTTP> <adeoraapp03.santos.com> <WLS_APEX> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1353025192413> <BEA-101020> <[ServletContext@955221946[app:apex module:apex.war path:/apex spec-version:2.5]] Servlet failed with Exception
java.lang.IllegalArgumentException: Not a correctly formatted timestamp: 2012-11-15T23:52:58.0080Z
at oracle.dbtools.common.util.Timestamps.valueOf(Timestamps.java:61)
at oracle.dbtools.common.config.db.UrlMappings$Builder$1PoolFilter.startElement(UrlMappings.java:199)
at oracle.dbtools.common.x3p.MatchFilter.startElement(MatchFilter.java:54)
at oracle.dbtools.common.x3p.impl.Event.invoke(Event.java:52)
at oracle.dbtools.common.x3p.impl.Chain$EventIterator.advance(Chain.java:125)
at oracle.dbtools.common.x3p.impl.Chain$EventIterator.advance(Chain.java:79)
at oracle.dbtools.common.util.AbstractIterator.next(AbstractIterator.java:28)
at oracle.dbtools.common.x3p.impl.X3PReaderAdaptor.next(X3PReaderAdaptor.java:34)
at oracle.dbtools.common.config.db.UrlMappings$Builder.read(UrlMappings.java:170)
at oracle.dbtools.common.config.db.UrlMappings.existing(UrlMappings.java:99)
at oracle.dbtools.common.config.db.UrlMappings.urlMappings(UrlMappings.java:93)
at oracle.dbtools.common.config.db.DatabasePoolConfig.loadFromXML(DatabasePoolConfig.java:285)
at oracle.dbtools.common.config.db.DatabasePoolConfig.loadFromDBFromTime(DatabasePoolConfig.java:181)
at oracle.dbtools.common.config.db.DatabasePoolConfig.getPoolInfo(DatabasePoolConfig.java:54)
at oracle.dbtools.rt.jdbc.DatabaseConnectionFilter.poolInfo(DatabaseConnectionFilter.java:60)
at oracle.dbtools.rt.jdbc.DatabaseConnectionFilter.applyDatabaseConnectionInfo(DatabaseConnectionFilter.java:71)
at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3732)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>
This seems to be due to a time format issue when adding new database mapping in the url-mappings
when running the following command
@:as11g_pfrd_prod> java -jar apex.war map-url --type base-path /apexpoc apexpoc
Nov 16, 2012 10:22:57 AM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
INFO: Using configuration folder: /data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/apex_config/apex
@:as11g_pfrd_prod> pwd
/data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/stage/apex
After running the command the following entry was added to url mappings file
This resulted in the following entries in url-mapping.xml, (the timestamps are in to be in UTC):
<pool base-path="/apexpoc" name="apexpoc" updated="2012-11-15T23:52:58.0080Z"/>
Which caused the above stack trace and also caused a internal error 500 on the browser when trying to access APEX
we removed the url mapping and ran the following command(at a different time in the day)
@:as11g_pfrd_prod> pwd
/data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/stage/apex
@:as11g_pfrd_prod> java -jar apex.war map-url --type base-path /apexpoc apexpoc
Nov 16, 2012 10:58:35 AM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
INFO: Using configuration folder: /data1/software/oracle/product/as11g_pfrd_prod/user_projects/domains/PFRD_Domain/servers/WLS_APEX/apex_config/apex
which resulted in a new entry in the url mappings table
<pool base-path="/apexpoc" name="apexpoc" updated="2012-11-16T00:28:35.479Z"/>
And the apex listener worked againThanks Colm,
Was this a known issue? If so do we have a common "thread" for known issues?
And do we have any idea when 2.0 Final is coming out?
Maybe you are looking for
-
I purchased my Macbook (17") through a certified apple tecnition in August 2012, it was refurbished and the motherboard was completely replaced. I do a lot of photo editing, but I have been unable to do so because of the red vibrating lines that inte
-
Can the Apple TV connect with 5 or more television?
I want to connect apple tv with 5 or more televission. Is that possible? In addition, can I monitor the content of apple tv remotely? Thanks.
-
Configuration accounts receivable & payble pdf
Hello All, can you give me please configuration document Accounts receivable & payble & detail screenshot.which useful for me Thanks & Regards. Shialesh.
-
HT201210 Why can't I restore my ipod
I can't restore my ipod touch. Why can't I connect to server
-
Hi there all, Having finished by first Java application for work, I'm trying to create an executable jar file for it. The current directory structure is: - +---- programs | | | |---- GateKeeper | |---- commonfilesThe commonfiles directo